yeguodong 1 napja
szülő
commit
1d32a958b5

+ 1 - 1
src/main/java/cn/hnthyy/thmz/controller/mz/TCommonParamsController.java

@@ -165,7 +165,7 @@ public class TCommonParamsController {
             zdIcdCode.setName(commonParams);
             zdIcdCode.setPageSize(1000);
             resultMap.put("code", 0);
-            resultMap.put("data", zdIcdCodeService.queryZdIcdCodeWithPage(zdIcdCode));
+            resultMap.put("data", zdIcdCodeService.queryZdIcdCode(zdIcdCode));
             return resultMap;
         } catch (Exception e) {
             e.printStackTrace();

+ 37 - 1
src/main/java/cn/hnthyy/thmz/mapper/his/zd/ZdIcdCodeMapper.java

@@ -41,12 +41,48 @@ public interface ZdIcdCodeMapper {
                     " FROM (SELECT ROW_NUMBER() OVER (ORDER BY zd_icd_code_new_page.yb_code asc ) ",
             "AS RowNumber,* from dbo.zd_icd_code_new zd_icd_code_new_page WITH(NOLOCK)  where  yb_code is not null and yb_name is not null and del_flag != 1  ",
             "<when test='name!=null'>",
-            " and (yb_name like #{name} collate Chinese_PRC_CI_AS or yb_code like #{name} collate Chinese_PRC_CI_AS or yb_py_code like #{name} collate Chinese_PRC_CI_AS )",
+            " and (name like #{name} collate Chinese_PRC_CI_AS or yb_code like #{name} collate Chinese_PRC_CI_AS or yb_py_code like #{name} collate Chinese_PRC_CI_AS )",
             "</when>",
             ") as A WHERE RowNumber >#{pageSize}*#{pageIndex} order by RowNumber asc",
             "</script>"})
     List<ZdIcdCode> selectZdIcdCodeWithPage(ZdIcdCode zdIcdCode);
 
+    /**
+     * 查询医保诊断字典列表
+     *
+     * @param zdIcdCode 医保诊断查询条件
+     * @return
+     */
+    @Select({"<script>",
+            "<choose>",
+            "<when test='name == null or name == \"\"'>",
+            "SELECT TOP 100 * FROM zd_icd_code_new",
+            "</when>",
+            "<otherwise>",
+            "SELECT * FROM zd_icd_code_new ",
+            "WHERE ",
+            "name LIKE '%' + #{name} + '%' ",
+            "OR yb_code LIKE '%' + #{name} + '%' ",
+            "ORDER BY ",
+            "CASE WHEN name LIKE '%' + #{name} + '%' THEN 1 ELSE 2 END ASC, ",
+            "CASE ",
+            "WHEN name = #{name} THEN 1 ",
+            "WHEN name LIKE #{name} + '%' THEN 2 ",
+            "WHEN yb_code = #{name} THEN 3 ",
+            "WHEN yb_code LIKE #{name} + '%' THEN 4 ",
+            "WHEN name LIKE '%' + #{name} + '%' THEN 5 ",
+            "ELSE 6 ",
+            "END ASC, ",
+            "CASE ",
+            "WHEN name LIKE '%' + #{name} + '%' THEN CHARINDEX(#{name}, name) ",
+            "ELSE CHARINDEX(#{name}, yb_code) ",
+            "END ASC, ",
+            "LEN(CASE WHEN name LIKE '%' + #{name} + '%' THEN name ELSE yb_code END) ASC",
+            "</otherwise>",
+            "</choose>",
+            "</script>"})
+    List<ZdIcdCode> selectZdIcdCode(ZdIcdCode zdIcdCode);
+
 
     /**
      * 统计医保诊断字典

+ 8 - 0
src/main/java/cn/hnthyy/thmz/service/his/zd/ZdIcdCodeService.java

@@ -29,6 +29,14 @@ public interface ZdIcdCodeService {
      */
     List<ZdIcdCode> queryZdIcdCodeWithPage(ZdIcdCode zdIcdCode);
 
+    /**
+     * 查询医保诊断字典列表
+     *
+     * @param zdIcdCode 医保诊断查询条件
+     * @return
+     */
+    List<ZdIcdCode> queryZdIcdCode(ZdIcdCode zdIcdCode);
+
 
     /**
      * 统计医保诊断字典

+ 1 - 2
src/main/java/cn/hnthyy/thmz/service/impl/his/mz/MzChargeDetailServiceImpl.java

@@ -5938,9 +5938,8 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
         newMzVisitTable.setTcmIcdCode(mzPrescriptionVo.getTcmIcdCode());
         newMzVisitTable.setTcmIcdText(mzPrescriptionVo.getTcmIcdText());
 
-        String icdName = zdIcdCodeMapper.selectIcdTextNew(mzPrescriptionVo.getIcdCode());
         newMzVisitTable.setIcdCodeNew(mzPrescriptionVo.getIcdCode());
-        newMzVisitTable.setIcdTextNew(icdName);
+        newMzVisitTable.setIcdTextNew(mzPrescriptionVo.getIcdText());
 
         newMzVisitTable.setMedRecordId(mzPrescriptionVo.getMedRecordId());
         if (newMzVisitTable.getIcdCodeNew() != null && newMzVisitTable.getIcdCodeNew().length() > 20) {

+ 5 - 0
src/main/java/cn/hnthyy/thmz/service/impl/his/zd/ZdIcdCodeServiceImpl.java

@@ -37,6 +37,11 @@ public class ZdIcdCodeServiceImpl implements ZdIcdCodeService {
         return zdIcdCodeMapper.selectZdIcdCodeWithPage(zdIcdCode);
     }
 
+    @Override
+    public List<ZdIcdCode> queryZdIcdCode(ZdIcdCode zdIcdCode) {
+        return zdIcdCodeMapper.selectZdIcdCode(zdIcdCode);
+    }
+
     @Override
     public int countZdIcdCode(ZdIcdCode zdIcdCode) {
         return zdIcdCodeMapper.countZdIcdCode(zdIcdCode);