Quellcode durchsuchen

在院查询患者的信息

xiaochan vor 3 Jahren
Ursprung
Commit
b59e3367cb

+ 11 - 0
src/main/java/thyyxxk/webserver/controller/medicalinsurance/SiQueryController.java

@@ -9,7 +9,9 @@ import thyyxxk.webserver.entity.medicalinsurance.inpatient.InHspPsnInfo;
 import thyyxxk.webserver.entity.medicalinsurance.outpatient.SpcChrDiseAcct;
 import thyyxxk.webserver.entity.medicalinsurance.query.*;
 import thyyxxk.webserver.entity.medicalinsurance.setlinfo.SiSetlinfo;
+import thyyxxk.webserver.entity.yibao.ZyActpatient;
 import thyyxxk.webserver.service.medicalinsurance.SiQueryService;
+import thyyxxk.webserver.utils.ResultVoUtil;
 
 import java.util.List;
 import java.util.Map;
@@ -136,4 +138,13 @@ public class SiQueryController {
         return service.selectSetldetailStatistics(condition);
     }
 
+    @GetMapping("/weiJieSuanZaiYuanHuanZhe")
+    public ResultVo<List<ZyActpatient>> weiJieSuanZaiYuanHuanZhe(@RequestParam("patNo") String patNo,
+                                                                 @RequestParam("startTime") String startTime,
+                                                                 @RequestParam("endTime") String endTime,
+                                                                 @RequestParam("name") String name,
+                                                                 @RequestParam("certno") String certno) {
+        return service.weiJieSuanZaiYuanHuanZhe(patNo, startTime, endTime, name, certno);
+    }
+
 }

+ 43 - 6
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/SiQueryDao.java

@@ -6,6 +6,7 @@ import thyyxxk.webserver.entity.medicalinsurance.query.*;
 import thyyxxk.webserver.entity.medicalinsurance.setllist.BrfChrgitm;
 import thyyxxk.webserver.entity.medicalinsurance.setllist.InptntSetlmtLst;
 import thyyxxk.webserver.entity.medicalinsurance.setllist.OtptntSetlmtLst;
+import thyyxxk.webserver.entity.yibao.ZyActpatient;
 
 import java.util.Date;
 import java.util.List;
@@ -283,8 +284,8 @@ public interface SiQueryDao {
             "from t_si_setlinfo a where revoked=0 and setl_type=21 and insutype like #{insutype} and setl_time>=#{begntime} " +
             "and setl_time<=#{endtime} and insuplc_admdvs='439900' ")
     List<BaseSetlStatistics> selectBaseSetlStatisticsInProvinceLevel(@Param("begntime") String begntime,
-                                                                           @Param("endtime") String endtime,
-                                                                           @Param("insutype") String insutype);
+                                                                     @Param("endtime") String endtime,
+                                                                     @Param("insutype") String insutype);
 
     @Select("select pat_no,times,ledger_sn,insuplc_admdvs,medfee_sumamt,insutype,hifmi_pay,hifp_pay,cvlserv_pay, " +
             "fundPaySumamt=(select sum(b.fund_payamt) from t_si_setldetail b where b.pat_no=a.pat_no " +
@@ -294,8 +295,8 @@ public interface SiQueryDao {
             "from t_si_setlinfo a where revoked=0 and setl_type=21 and insutype like #{insutype} and setl_time>=#{begntime} " +
             "and setl_time<=#{endtime} and insuplc_admdvs!='439900' and insuplc_admdvs like '4301%' ")
     List<BaseSetlStatistics> selectBaseSetlStatisticsInChangshaCity(@Param("begntime") String begntime,
-                                                                           @Param("endtime") String endtime,
-                                                                           @Param("insutype") String insutype);
+                                                                    @Param("endtime") String endtime,
+                                                                    @Param("insutype") String insutype);
 
     @Select("select pat_no,times,ledger_sn,insuplc_admdvs,medfee_sumamt,insutype,hifmi_pay,hifp_pay,cvlserv_pay, " +
             "fundPaySumamt=(select sum(b.fund_payamt) from t_si_setldetail b where b.pat_no=a.pat_no " +
@@ -316,8 +317,8 @@ public interface SiQueryDao {
             "from t_si_setlinfo a where revoked=0 and setl_type=21 and insutype like #{insutype} and setl_time>=#{begntime} " +
             "and setl_time<=#{endtime} and insuplc_admdvs!='439900' and insuplc_admdvs not like '43%' ")
     List<BaseSetlStatistics> selectBaseSetlStatisticsOutProvince(@Param("begntime") String begntime,
-                                                                @Param("endtime") String endtime,
-                                                                @Param("insutype") String insutype);
+                                                                 @Param("endtime") String endtime,
+                                                                 @Param("insutype") String insutype);
 
     @Select("select pat_no,times,ledger_sn,insuplc_admdvs,medfee_sumamt,insutype,hifmi_pay,hifp_pay,cvlserv_pay, " +
             "fundPaySumamt=(select sum(b.fund_payamt) from t_si_setldetail b where b.pat_no=a.pat_no " +
@@ -336,4 +337,40 @@ public interface SiQueryDao {
     @Select("select name,code='' from t_si_admdvs where code=#{code}")
     PureCodeName selectAdmdvsName(@Param("code") String code);
 
+
+    @Select("<script>" +
+            "select                     rtrim(a.inpatient_no)     inpatient_no," +
+            "                           a.admiss_times," +
+            "                           rtrim(name)               name," +
+            "    refer_physician_name = (select rtrim(name) from a_employee_mi where code = refer_physician)," +
+            "    small_dept_name      = (select rtrim(name) from zd_unit_code where code = small_dept)," +
+            "    responce_type_name   = (select rtrim(name) from zy_zd_responce_type where code = responce_type)," +
+            "                           total_charge," +
+            "                           sex," +
+            "                           rtrim(c.dis_diag)         dis_diag," +
+            "                           rtrim(c.dis_diag_comment) dis_diag_comment " +
+            "from zy_actpatient a " +
+            "         left join t_si_pat_info b on (a.inpatient_no = b.pat_no and a.admiss_times = b.times) " +
+            "         left join zy_dis_diag_yb c on (a.inpatient_no = c.inpatient_no and a.admiss_times = c.admiss_times and c.dis_diag_no = 1) " +
+            "where  " +
+            "setl_id is null " +
+            "<if test=\"startTime !=null and startTime != '' \">" +
+            "  and admiss_date &gt;= #{startTime} and admiss_date &lt;= #{endTime}  " +
+            "</if>" +
+            "<if test=\"patNo != null and patNo != '' \">" +
+            "  and a.inpatient_no = #{patNo} /* 住院号 */ " +
+            "</if>" +
+            "<if test=\"name != null and name != ''\">" +
+            "  and name like #{name} /*姓名*/ " +
+            "</if>" +
+            "<if test=\"certno !=null and certno != '' \">" +
+            "  and certno = '' /*身份证号码*/" +
+            "</if>" +
+            "</script>")
+    List<ZyActpatient> zaiYuanHuanZheXinXi(@Param("patNo") String patNo,
+                                           @Param("startTime") String startTime,
+                                           @Param("endTime") String endTime,
+                                           @Param("name") String name,
+                                           @Param("certno") String certno);
+
 }

+ 26 - 3
src/main/java/thyyxxk/webserver/entity/yibao/ZyActpatient.java

@@ -20,6 +20,9 @@ public class ZyActpatient implements Serializable {
     private static final long serialVersionUID = 5145290750715622360L;
 
     private String wardName;
+    /**
+     * 医保类型
+     */
     private String responceTypeName;
     private BigDecimal balance;
     private String wardCode;
@@ -101,9 +104,10 @@ public class ZyActpatient implements Serializable {
     private String admissPhysician;
 
     /**
-     * referPhysician
+     * 管床医生
      */
     private String referPhysician;
+    private String referPhysicianName;
 
     /**
      * consultPhysician
@@ -131,9 +135,13 @@ public class ZyActpatient implements Serializable {
     private Date disDate;
 
     /**
-     * disDiag
+     * 主要诊断代码
      */
     private String disDiag;
+    /**
+     * 主要诊断名称
+     */
+    private String disDiagComment;
 
     /**
      * disStatus
@@ -707,9 +715,10 @@ public class ZyActpatient implements Serializable {
     private String disYbStr2;
 
     /**
-     * smallDept
+     * 入院小科室
      */
     private String smallDept;
+    private String smallDeptName;
 
     /**
      * xnhFamilysysno
@@ -836,4 +845,18 @@ public class ZyActpatient implements Serializable {
      * 未匹配
      */
     private List<WeiGuiFeiYongFenXi> weiPiPei;
+
+    public String getSexName() {
+        if (this.sex == null) {
+            return "";
+        }
+        switch (sex) {
+            case 1:
+                return "男";
+            case 2:
+                return "女";
+            default:
+                return "未知";
+        }
+    }
 }

+ 12 - 0
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiQueryService.java

@@ -1,5 +1,6 @@
 package thyyxxk.webserver.service.medicalinsurance;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -20,6 +21,7 @@ import thyyxxk.webserver.entity.medicalinsurance.query.*;
 import thyyxxk.webserver.entity.medicalinsurance.setlinfo.SiSetldetail;
 import thyyxxk.webserver.entity.medicalinsurance.setlinfo.SiSetlinfo;
 import thyyxxk.webserver.entity.medicalinsurance.setllist.*;
+import thyyxxk.webserver.entity.yibao.ZyActpatient;
 import thyyxxk.webserver.service.wxapi.SendWxInfoService;
 import thyyxxk.webserver.utils.*;
 
@@ -1382,4 +1384,14 @@ public class SiQueryService {
         return ResultVoUtil.success(list);
     }
 
+
+    public ResultVo<List<ZyActpatient>> weiJieSuanZaiYuanHuanZhe(String patNo,
+                                                                 String startTime,
+                                                                 String endTime,
+                                                                 String name,
+                                                                 String certno) {
+        List<ZyActpatient> actpatients = dao.zaiYuanHuanZheXinXi(patNo, startTime, endTime, StringUtil.isContainChinese(name), certno);
+        return ResultVoUtil.success(actpatients);
+    }
+
 }

+ 1 - 1
src/main/java/thyyxxk/webserver/utils/StringUtil.java

@@ -66,7 +66,7 @@ public class StringUtil {
      */
     public static String isContainChinese(String str) {
         if (StringUtils.isEmpty(str)) {
-            return "空字符串";
+            return "";
         }
         Pattern p = Pattern.compile("[\u4E00-\u9FA5|\\!|\\,|\\。|\\(|\\)|\\《|\\》|\\“|\\”|\\?|\\:|\\;|\\【|\\】]");
         Matcher m = p.matcher(str);