Browse Source

中医病证搜索

lighter 4 months ago
parent
commit
845d533d89

+ 0 - 1
src/main/java/thyyxxk/webserver/dao/his/inpatient/casefrontsheet/SheetSearchDao.java

@@ -28,7 +28,6 @@ public interface SheetSearchDao {
             "where a.[Number]>10*(#{page}-1) order by weight desc")
     List<CodeName> searchClinicDiag(@Param("method") String method, @Param("content") String content, @Param("page") int page);
 
-
     @Select("select top 10 rtrim(code) code, rtrim(name) name from " +
             "(SELECT ROW_NUMBER() OVER(order by code) AS 'Number',  * " +
             "from zd_icd_m_code with(nolock) where ${method} like #{content}) a " +

+ 9 - 2
src/main/java/thyyxxk/webserver/dao/his/search/SearchDao.java

@@ -17,12 +17,19 @@ public interface SearchDao {
             "from zd_unit_code where isnull(del_flag,0)!=1 and ${method} like #{content}")
     IPage<CodeName> searchDept(IPage<CodeName> iPage, String method, String content);
 
-    @Select("select distinct rtrim(yb_code) as code, rtrim(yb_name) as name from zd_icd_code_new where ${method} like #{content} and del_flag=0")
+    @Select("select rtrim(yb_code) as code, rtrim(yb_name) as name from zd_icd_code_new where ${method} like #{content} and del_flag=0")
     IPage<CodeName> searchSiDiagnose(IPage<CodeName> iPage, String method, String content);
 
-    @Select("select distinct rtrim(code) as code, rtrim(name) as name from zd_icd_code_new where ${method} like #{content} and del_flag=0")
+    @Select("select rtrim(code) as code, rtrim(name) as name from zd_icd_code_new where ${method} like #{content} and del_flag=0")
     IPage<CodeName> searchIcd10Diagnose(IPage<CodeName> iPage, String method, String content);
 
+    @Select("select class_code as code, sick_name as name from ${table} where ${method} like #{content}")
+    IPage<CodeName> searchTcmDiag(IPage<CodeName> iPage, String table, String method, String content);
+
+    @Select("select class_code as code, sick_name as name from zy_zh_name_class " +
+            "where ${method} like #{content}")
+    IPage<CodeName> searchTcmZh(IPage<CodeName> iPage, String method, String content);
+
     @Select("select distinct new_code as code,new_name as name from ${tableName} where new_name like #{content}")
     IPage<CodeName> selectSlwSpcDiag(IPage<CodeName> iPage, String content, String tableName);
 

+ 2 - 0
src/main/java/thyyxxk/webserver/entity/dictionary/SearchDataParam.java

@@ -14,6 +14,8 @@ public class SearchDataParam {
     private String target;
     @NotBlank(message = "查询内容不能为空")
     private String content;
+    // 中医诊断 B=病 Z=证
+    private String zyType;
     private String medType;
     // 人员类别:1-职工,2-居民
     private Integer perstype;

+ 17 - 5
src/main/java/thyyxxk/webserver/service/search/SearchService.java

@@ -33,7 +33,7 @@ public class SearchService {
                 iPage = deepinIcd10Diag(params.getMethod(), params.getContent(), iPage);
                 break;
             case "tcmDiag":
-                iPage = deepinTcmDiag(params.getMethod(), params.getContent(), iPage);
+                iPage = deepinTcmDiag(params.getZyType(), params.getMethod(), params.getContent(), iPage);
                 break;
             case "diag":
                 iPage = deepinSiDiag(params.getMethod(), params.getContent(), iPage);
@@ -120,6 +120,7 @@ public class SearchService {
                 break;
             default:
                 column = "yb_name";
+                break;
         }
         return dao.searchSiDiagnose(iPage, column, content);
     }
@@ -136,11 +137,22 @@ public class SearchService {
         return dao.searchIcd10Diagnose(iPage, column, content);
     }
 
-    private IPage<CodeName> deepinTcmDiag(String method, String content, IPage<CodeName> iPage) {
+    private IPage<CodeName> deepinTcmDiag(String type, String method, String content, IPage<CodeName> iPage) {
         content = '%' + content.toUpperCase() + '%';
-        String column = filterCommonColumn(method);
-        // todo 换成 查询中医诊断表
-        return dao.searchIcd10Diagnose(iPage, column, content);
+        String column;
+        switch (method) {
+            case "alpha":
+                column = "py_code";
+                break;
+            case "code":
+                column = "class_code";
+                break;
+            default:
+                column = "sick_name";
+                break;
+        }
+        String table = type.equals("B") ? "zy_jb_name_class" : "zy_zh_name_class";
+        return dao.searchTcmDiag(iPage, table, column, content);
     }
 
     private IPage<CodeName> deepinSlwSpcDiag(String content, Integer perstype, IPage<CodeName> iPage) {