Pārlūkot izejas kodu

主诉,现病史,既往史,诊断组推荐功能开发完成

hurugang 4 gadi atpakaļ
vecāks
revīzija
4df83e6868

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

@@ -113,7 +113,7 @@ public class TCommonParamsController {
      */
     @UserLoginToken
     @RequestMapping(value = "/getTCommonParamsByParamsType", method = {RequestMethod.GET})
-    public Map<String, Object> getTCommonParamsByParamsType(@RequestParam("paramsType") Integer paramsType, @RequestParam("commonParams") String commonParams, HttpServletRequest httpServletRequest) {
+    public Map<String, Object> getTCommonParamsByParamsType(@RequestParam("paramsType") Integer paramsType, @RequestParam("commonParams") String commonParams, @RequestParam("pageSize") Integer pageSize, HttpServletRequest httpServletRequest) {
         Map<String, Object> resultMap = new HashMap<>();
         try {
             if (paramsType == null) {
@@ -122,7 +122,7 @@ public class TCommonParamsController {
                 return resultMap;
             }
             User tokenUser = TokenUtil.getUser(httpServletRequest);
-            List<TCommonParams> tCommonParamsList = tCommonParamsService.queryTCommonParamsByParamsType(paramsType, commonParams, tokenUser.getUserIdCode());
+            List<TCommonParams> tCommonParamsList = tCommonParamsService.queryTCommonParamsByParamsType(commonParams, paramsType, pageSize, tokenUser.getUserIdCode());
             resultMap.put("code", 0);
             resultMap.put("data", tCommonParamsList);
             return resultMap;

+ 1 - 1
src/main/java/cn/hnthyy/thmz/entity/thmz/TCommonParams.java

@@ -39,7 +39,7 @@ public class TCommonParams implements Serializable {
     private String wbCode;
 
     /**
-     * 参数类型  0-常用症状  1-常用时间  2-常用标点 3-常用词 4- 诊断 5-现病史 6-既往史 7-体重 8-体温 9-脉搏 10-呼吸 11-血压  12-主诉
+     * 参数类型  0-常用症状  1-常用时间  2-常用标点 3-常用词 4- 诊断 5-现病史 6-既往史 7-体重 8-体温 9-脉搏 10-呼吸 11-血压  12-主诉 13-诊断组
      * {@link ParamsTypeEnum}
      */
     private Integer paramsType;

+ 3 - 2
src/main/java/cn/hnthyy/thmz/enums/ParamsTypeEnum.java

@@ -4,7 +4,7 @@ import java.util.Arrays;
 import java.util.List;
 
 /**
- * 参数类型  0-常用症状  1-常用时间  2-常用标点 3-常用词 4- 诊断 5-现病史 6-既往史 7-体重 8-体温 9-脉搏 10-呼吸 11-血压  12-主诉
+ * 参数类型  0-常用症状  1-常用时间  2-常用标点 3-常用词 4- 诊断 5-现病史 6-既往史 7-体重 8-体温 9-脉搏 10-呼吸 11-血压  12-主诉 13-诊断组
  */
 public enum ParamsTypeEnum {
     FEATURE(0,"常用症状"),
@@ -19,7 +19,8 @@ public enum ParamsTypeEnum {
     PULSE(9,"脉搏"),
     BREATHE(10,"呼吸"),
     BLOOD_PRESSURE(11,"血压"),
-    SYMPTOM(12,"主诉");
+    SYMPTOM(12,"主诉"),
+    DIAGNOSE_LIST(13,"诊断组");
 
     public Integer code;
     public String name;

+ 21 - 0
src/main/java/cn/hnthyy/thmz/mapper/thmz/TCommonParamsMapper.java

@@ -28,6 +28,14 @@ public interface TCommonParamsMapper {
     @Select("select id,params_name,py_code, wb_code,params_type,create_id_code,create_time,params_status,update_id_code,update_time,used_times,params_code,params_content from t_common_params where id=#{id}")
     TCommonParams selectById(@Param("id") Long id);
 
+    /**
+     * 根据paramsCode查询
+     *
+     * @param paramsCode
+     * @return
+     */
+    @Select("select id,params_name,py_code, wb_code,params_type,create_id_code,create_time,params_status,update_id_code,update_time,used_times,params_code,params_content from t_common_params where params_code=#{paramsCode}")
+    TCommonParams selectByParamsCode(@Param("paramsCode") String paramsCode);
 
     /**
      * 根据参数名和参数类型以及创建人id查询
@@ -63,6 +71,19 @@ public interface TCommonParamsMapper {
             "</script>"})
     List<TCommonParams> selectTCommonParamsByParamsType(@Param("paramsType") Integer paramsType, @Param("commonParams") String commonParams, @Param("pageSize") Integer pageSize, @Param("createIdCode") String createIdCode);
 
+    /**
+     * 根据参数编码集查询参数
+     *
+     * @param paramsCodes
+     * @return
+     */
+    @Select({"<script>",
+            "select id,params_name,py_code, wb_code,params_type,create_id_code,create_time,params_status,update_id_code,update_time,used_times,params_code,params_content from t_common_params where params_code in " +
+            "<foreach item='item' index='index' collection='paramsCodes' open='(' separator=',' close=')'>",
+            "#{item}",
+            "</foreach>",
+            "</script>"})
+    List<TCommonParams> selectByParamsCodes(@Param("paramsCodes") List<String> paramsCodes);
 
     /**
      * 更新用户信息

+ 20 - 3
src/main/java/cn/hnthyy/thmz/service/his/mz/TCommonParamsService.java

@@ -26,15 +26,16 @@ public interface TCommonParamsService {
     /**
      * 根据参数名和参数类型以及创建人id查询
      *
-     * @param paramsName
+     * @param commonParams
      * @param paramsType
      * @param createIdCode
      * @return
      */
-    TCommonParams queryByParamsName(String paramsName, Integer paramsType, String createIdCode);
+    TCommonParams queryByParamsName(String commonParams, Integer paramsType, String createIdCode);
 
     /**
      * 根据参数类型查询参数列表
+     *
      * @param paramsType
      * @param createIdCode
      * @return
@@ -44,12 +45,24 @@ public interface TCommonParamsService {
 
     /**
      * 根据参数类型查询参数列表
+     *
      * @param paramsType
      * @param commonParams
      * @param createIdCode
      * @return
      */
-    List<TCommonParams> queryTCommonParamsByParamsType(Integer paramsType, String commonParams,String createIdCode);
+    List<TCommonParams> queryTCommonParamsByParamsType(Integer paramsType, String commonParams, String createIdCode);
+
+    /**
+     * 根据参数名和参数类型,数据条数以及创建人id查询
+     *
+     * @param commonParams
+     * @param paramsType
+     * @param createIdCode
+     * @param pageSize
+     * @return
+     */
+    List<TCommonParams> queryTCommonParamsByParamsType(String commonParams, Integer paramsType, Integer pageSize, String createIdCode);
 
     /**
      * 更新用户信息
@@ -61,6 +74,7 @@ public interface TCommonParamsService {
 
     /**
      * 初始化门诊诊断
+     *
      * @return
      */
     int initDiagnose();
@@ -68,6 +82,7 @@ public interface TCommonParamsService {
 
     /**
      * 初始化门诊主诉记录
+     *
      * @return
      */
     int initEmrChiefComplaint() throws MzException;
@@ -75,12 +90,14 @@ public interface TCommonParamsService {
 
     /**
      * 初始化门诊主诉记录
+     *
      * @return
      */
     int initEmrHpi() throws MzException;
 
     /**
      * 初始化门诊既往史记录
+     *
      * @return
      */
     int initEmrPs() throws MzException;

+ 46 - 8
src/main/java/cn/hnthyy/thmz/service/impl/his/mz/TCommonParamsServiceImpl.java

@@ -13,16 +13,14 @@ import cn.hnthyy.thmz.mapper.his.zd.ZdIcdCodeMapper;
 import cn.hnthyy.thmz.mapper.thmz.TCommonParamsMapper;
 import cn.hnthyy.thmz.service.his.mz.TCommonParamsService;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @Service
 public class TCommonParamsServiceImpl implements TCommonParamsService {
@@ -52,6 +50,7 @@ public class TCommonParamsServiceImpl implements TCommonParamsService {
         return tCommonParamsMapper.selectById(id);
     }
 
+
     @Override
     public TCommonParams queryByParamsName(String paramsName, Integer paramsType, String createIdCode) {
         return tCommonParamsMapper.selectByParamsName(paramsName, paramsType, createIdCode);
@@ -64,16 +63,55 @@ public class TCommonParamsServiceImpl implements TCommonParamsService {
 
     @Override
     public List<TCommonParams> queryTCommonParamsByParamsType(Integer paramsType, String commonParams, String createIdCode) {
-        Integer pageSize = null;
-        if (ParamsTypeEnum.DIAGNOSE.code.equals(paramsType)) {
-            pageSize = 100;
+//        Integer pageSize = null;
+//        if (ParamsTypeEnum.DIAGNOSE.code.equals(paramsType)) {
+//            pageSize = 100;
+//        }
+        if(StringUtils.isNotBlank(commonParams)){
+            commonParams="%"+commonParams+"%";
+        }else {
+            commonParams=null;
         }
+        return tCommonParamsMapper.selectTCommonParamsByParamsType(paramsType, commonParams, null, createIdCode);
+    }
+
+    @Override
+    public List<TCommonParams> queryTCommonParamsByParamsType(String commonParams, Integer paramsType, Integer pageSize, String createIdCode) {
         if(StringUtils.isNotBlank(commonParams)){
             commonParams="%"+commonParams+"%";
         }else {
             commonParams=null;
         }
-        return tCommonParamsMapper.selectTCommonParamsByParamsType(paramsType, commonParams, pageSize, createIdCode);
+        List<TCommonParams> tCommonParamsList = tCommonParamsMapper.selectTCommonParamsByParamsType(paramsType, commonParams, pageSize, createIdCode);
+        if(ParamsTypeEnum.DIAGNOSE_LIST.code.equals(paramsType) && tCommonParamsList!=null && tCommonParamsList.size()>0){
+            for(TCommonParams tCommonParams:tCommonParamsList){
+                if(StringUtils.isBlank(tCommonParams.getParamsName())){
+                    continue;
+                }
+                String [] codes =tCommonParams.getParamsName().split(",");
+                if(codes==null || codes.length==0){
+                    continue;
+                }
+//                List<TCommonParams> diagnoseList=tCommonParamsMapper.selectByParamsCodes(Arrays.asList(codes));
+//                if(diagnoseList==null || diagnoseList.size()==0){
+//                    continue;
+//                }
+                String paramsContent =null;
+                for (String code:codes){
+                    TCommonParams diagnose=tCommonParamsMapper.selectByParamsCode(code);
+                    if(diagnose==null){
+                        continue;
+                    }
+                    if(paramsContent==null){
+                        paramsContent=diagnose.getParamsName()+"("+diagnose.getParamsCode()+")";
+                    }else {
+                        paramsContent+=","+diagnose.getParamsName()+"("+diagnose.getParamsCode()+")";
+                    }
+                }
+                tCommonParams.setParamsContent(paramsContent);
+            }
+        }
+        return tCommonParamsList;
     }
 
     @Override

+ 179 - 169
src/main/resources/static/js/mz/clinic.js

@@ -143,7 +143,7 @@ function contentMethod() {
         left = left.replace("px", "");
         left = parseInt(left);
         left = left + 55;
-        $("#" + popoverId).css("height", "100%").css("top", "0px").css("left", left + "px").css("border-radius", "0px");
+        $("#" + popoverId).css("height", "100%").css("top", "0px").css("left", left + "px").css("border-radius", "0px").css("z-index","11");
         $("#" + popoverId + " .popover-content").css("height", "100%");
         $("#smartAssistPopoverContent").css("height", "100%");
         var html = ' <div style="height: 34%;padding-left: 15px;width: 100%;">' +
@@ -162,170 +162,15 @@ function contentMethod() {
             '            <div style="height: 33%;padding-left: 15px;">' +
             '                <button type="button" style="cursor: default;margin-bottom: 0px;margin-right: 0px;margin-top: 5px;"' +
             '                class="btn btn-primary">' +
-            '                推荐' +
+            '                <span id="recommendType"></span>推荐' +
             '                </button>' +
             '                <div style="height: calc(100% - 44px);border: 1px solid #DDDDDD;overflow-y: auto;margin-top: 5px;width: 100%;">' +
             '                    <form class="form-horizontal form-label-left mz-fixed-form" novalidate autocomplete="off"' +
-            '                          style="height: 100%;overflow-y: auto;width: 100%;text-align: -webkit-center;position: relative;">' +
+            '                          style="height: 100%;overflow-y: auto;width: 100%;text-align: -webkit-center;position: relative;" id="recommendForm">' +
             '                        <img src="/thmz/images/no-recommend.png" style="height: 120px;position: absolute;top: 50%;transform: translateY(-50%);margin-left: -30px;">' +
             '                    </form>' +
             '                </div>' +
             '            </div>' +
-            '            <div style="height: 33%;padding-left: 15px;" class="hide">' +
-            '                <button type="button" style="cursor: default;margin-bottom: 0px;margin-right: 0px;margin-top: 5px;"' +
-            '                        class="btn btn-primary">' +
-            '                    主诉推荐' +
-            '                </button>' +
-            '                <div style="height: calc(100% - 44px);border: 1px solid #DDDDDD;overflow-y: auto;margin-top: 5px;width: 100%;">' +
-            '                    <form class="form-horizontal form-label-left mz-fixed-form" novalidate autocomplete="off"' +
-            '                          style="height: 100%;overflow-y: auto;width: 100%;">' +
-            '                        <div class="item form-group thmz_alert" style="padding: 10px 0;width: 100%;">' +
-            '                            <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);"' +
-            '                                 title="畏寒发热咳嗽1周。">' +
-            '                                畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多' +
-            '                            </div>' +
-            '                            <div style="float: left;width: 36px;cursor: pointer;"' +
-            '                                 onclick="fitAppeal(\'畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多\')">' +
-            '                                <img' +
-            '                                        src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"' +
-            '                                        style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>' +
-            '                            </div>' +
-            '                        </div>' +
-            '                        <div class="item form-group thmz_alert" style="padding: 10px 0;width: 100%;">' +
-            '                            <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);"' +
-            '                                 title="畏寒发热咳嗽1周。">' +
-            '                                畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多' +
-            '                            </div>' +
-            '                            <div style="float: left;width: 36px;cursor: pointer;"' +
-            '                                 onclick="fitAppeal(\'畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多\')">' +
-            '                                <img' +
-            '                                        src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"' +
-            '                                        style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>' +
-            '                            </div>' +
-            '                        </div>' +
-            '                        <div class="item form-group thmz_alert" style="padding: 10px 0;width: 100%;">' +
-            '                            <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);"' +
-            '                                 title="畏寒发热咳嗽1周。">' +
-            '                                畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多' +
-            '                            </div>' +
-            '                            <div style="float: left;width: 36px;cursor: pointer;"' +
-            '                                 onclick="fitAppeal(\'畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多\')">' +
-            '                                <img' +
-            '                                        src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"' +
-            '                                        style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>' +
-            '                            </div>' +
-            '                        </div>' +
-            '                        <div class="item form-group thmz_alert" style="padding: 10px 0;width: 100%;">' +
-            '                            <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);"' +
-            '                                 title="畏寒发热咳嗽1周。">' +
-            '                                畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多' +
-            '                            </div>' +
-            '                            <div style="float: left;width: 36px;cursor: pointer;"' +
-            '                                 onclick="fitAppeal(\'畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多\')">' +
-            '                                <img' +
-            '                                        src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"' +
-            '                                        style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>' +
-            '                            </div>' +
-            '                        </div>' +
-            '                        <div class="item form-group thmz_alert" style="padding: 10px 0;width: 100%;">' +
-            '                            <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);"' +
-            '                                 title="畏寒发热咳嗽1周。">' +
-            '                                畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多' +
-            '                            </div>' +
-            '                            <div style="float: left;width: 36px;cursor: pointer;"' +
-            '                                 onclick="fitAppeal(\'畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多\')">' +
-            '                                <img' +
-            '                                        src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"' +
-            '                                        style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>' +
-            '                            </div>' +
-            '                        </div>' +
-            '                        <div class="item form-group thmz_alert" style="padding: 10px 0;width: 100%;">' +
-            '                            <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);"' +
-            '                                 title="畏寒发热咳嗽1周。">' +
-            '                                畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多' +
-            '                            </div>' +
-            '                            <div style="float: left;width: 36px;cursor: pointer;"' +
-            '                                 onclick="fitAppeal(\'畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多\')">' +
-            '                                <img' +
-            '                                        src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"' +
-            '                                        style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>' +
-            '                            </div>' +
-            '                        </div>' +
-            '                        <div class="item form-group thmz_alert" style="padding: 10px 0;width: 100%;">' +
-            '                            <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);"' +
-            '                                 title="畏寒发热咳嗽1周。">' +
-            '                                畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多' +
-            '                            </div>' +
-            '                            <div style="float: left;width: 36px;cursor: pointer;"' +
-            '                                 onclick="fitAppeal(\'畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多\')">' +
-            '                                <img' +
-            '                                        src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"' +
-            '                                        style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>' +
-            '                            </div>' +
-            '                        </div>' +
-            '                        <div class="item form-group thmz_alert" style="padding: 10px 0;width: 100%;">' +
-            '                            <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);"' +
-            '                                 title="畏寒发热咳嗽1周。">' +
-            '                                畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多' +
-            '                            </div>' +
-            '                            <div style="float: left;width: 36px;cursor: pointer;"' +
-            '                                 onclick="fitAppeal(\'畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多\')">' +
-            '                                <img' +
-            '                                        src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"' +
-            '                                        style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>' +
-            '                            </div>' +
-            '                        </div>' +
-            '                        <div class="item form-group thmz_alert" style="padding: 10px 0;width: 100%;">' +
-            '                            <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);"' +
-            '                                 title="畏寒发热咳嗽1周。">' +
-            '                                畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多' +
-            '                            </div>' +
-            '                            <div style="float: left;width: 36px;cursor: pointer;"' +
-            '                                 onclick="fitAppeal(\'畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多\')">' +
-            '                                <img' +
-            '                                        src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"' +
-            '                                        style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>' +
-            '                            </div>' +
-            '                        </div>' +
-            '                        <div class="item form-group thmz_alert" style="padding: 10px 0;width: 100%;">' +
-            '                            <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);"' +
-            '                                 title="畏寒发热咳嗽1周。">' +
-            '                                畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多' +
-            '                            </div>' +
-            '                            <div style="float: left;width: 36px;cursor: pointer;"' +
-            '                                 onclick="fitAppeal(\'畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多\')">' +
-            '                                <img' +
-            '                                        src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"' +
-            '                                        style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>' +
-            '                            </div>' +
-            '                        </div>' +
-            '                        <div class="item form-group thmz_alert" style="padding: 10px 0;width: 100%;">' +
-            '                            <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);"' +
-            '                                 title="畏寒发热咳嗽1周。">' +
-            '                                畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多' +
-            '                            </div>' +
-            '                            <div style="float: left;width: 36px;cursor: pointer;"' +
-            '                                 onclick="fitAppeal(\'畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多\')">' +
-            '                                <img' +
-            '                                        src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"' +
-            '                                        style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>' +
-            '                            </div>' +
-            '                        </div>' +
-            '                        <div class="item form-group thmz_alert" style="padding: 10px 0;width: 100%;">' +
-            '                            <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);"' +
-            '                                 title="畏寒发热咳嗽1周。">' +
-            '                                畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多' +
-            '                            </div>' +
-            '                            <div style="float: left;width: 36px;cursor: pointer;"' +
-            '                                 onclick="fitAppeal(\'畏寒发热咳嗽1周。肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多肺嗜酸性粒细胞增多\')">' +
-            '                                <img' +
-            '                                        src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"' +
-            '                                        style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>' +
-            '                            </div>' +
-            '                        </div>' +
-            '                    </form>' +
-            '                </div>' +
-            '            </div>' +
             '            <div style="height: 33%;padding-left: 15px;">' +
             '                <button type="button"' +
             '                        style="cursor: default;margin-bottom: 0px;margin-right: 0px;margin-top: 5px;    font-size: 12px;"' +
@@ -430,6 +275,10 @@ function contentMethod() {
             '            </div>';
         $("#smartAssistPopoverContent").html(html);
         fitPatientHisData();
+        fitSymptomData();
+        fitEmrHpiData();
+        fitEmrPsData();
+        fitDiagnoseData();
     }, 100);
 
     // setTimeout(function () {
@@ -510,6 +359,104 @@ function fitPatientHisData() {
 }
 
 
+/**
+ * 设置主诉推荐
+ */
+function fitSymptomData() {
+    fitRecommendData(12);
+}
+
+
+/**
+ * 设置现病史推荐
+ */
+function fitEmrHpiData() {
+    fitRecommendData(5);
+}
+
+/**
+ * 设置既往史推荐
+ */
+function fitEmrPsData() {
+    fitRecommendData(6);
+}
+
+
+/**
+ * 设置诊断推荐
+ */
+function fitDiagnoseData() {
+    fitRecommendData(13);
+}
+
+/**
+ * 设置推荐通用方法
+ */
+function fitRecommendData(paramsType) {
+    var popoverId = $("#box-arrow-left").attr("aria-describedby");
+    if(!$("#"+popoverId).hasClass("in")){
+        return;
+    }
+    var inputId = "symptom";
+    var text = "主诉";
+    if(paramsType==5){
+        inputId= "emrHpi";
+        text="现病史";
+    }else if(paramsType==6){
+        inputId= "emrPs";
+        text="既往史";
+    }else if(paramsType==13){
+        inputId= "diagnose";
+        text="诊断";
+    }
+    //光标不在现病史上
+    if(document.activeElement.id!=inputId ){
+        return;
+    }
+    $("#recommendType").html(text);
+    var emptyHtml='<img src="/thmz/images/no-recommend.png" style="height: 120px;position: absolute;top: 50%;transform: translateY(-50%);margin-left: -30px;">';
+    $.ajax({
+        type: "GET",
+        url: '/thmz/getTCommonParamsByParamsType?paramsType='+paramsType+'&commonParams=&pageSize=10',
+        contentType: "application/json;charset=UTF-8",
+        dataType: "json",
+        async: false,
+        headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
+        success: function (res) {
+            if (res == '401' || res == 401) {
+                window.location.href = '/thmz/login/view'
+                return;
+            }
+            if (res.code == 0) {
+                var html = '';
+                var data = res.data;
+                if (data == null || data.length == 0) {
+                    html += emptyHtml;
+                } else {
+                    for (var i = 0; i < data.length; i++) {
+                        var paramsContent=data[i].paramsContent;
+                        html+='                        <div class="item form-group thmz_alert" style="padding: 10px 0;width: 100%;">';
+                        html+='                            <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);" title="'+paramsContent+'">';
+                        html+=paramsContent;
+                        html+='                            </div>';
+                        html+='                            <div style="float: left;width: 36px;cursor: pointer;"';
+                        html+='                                 onclick="fitAppeal(\''+paramsContent+'\','+paramsType+')">' ;
+                        html+='                                <img';
+                        html+='                                        src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"';
+                        html+='                                        style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>';
+                        html+='                            </div>';
+                        html+='                        </div>';
+                    }
+                }
+                $("#recommendForm").html(html);
+            } else {
+                errorMesage(res);
+            }
+        }
+    });
+}
+
+
 /**
  * 清空快速接诊弹窗
  */
@@ -854,6 +801,7 @@ function clinicalReception(patientId) {
     var existPatientId = $("#patientId").val();
     if (existPatientId != null && existPatientId != "" && existPatientId != patientId) {
         $("#messageModal").modal();
+        $("#messageContent").html("当前有病人正在接诊,是否切换?");
         $("#messageButton").on("click", function (t) {
             $("#messageModal").modal("hide");
             clearWorkSpace();
@@ -936,17 +884,61 @@ function medicalModelModal(id) {
 }
 
 /**
- * 填充主诉
+ * 底层填充推荐方法
+ * @param paramsType
  * @param appeal
- */
-function fitAppeal(appeal) {
-    var symptom = $("#symptom").val();
-    if (symptom != null && symptom != "") {
-        if (confirm("主诉项已经录入,是否覆盖?")) {
-            $("#symptom").val(appeal);
+ * @param inputId
+ */
+function extracted(paramsType, appeal, inputId) {
+    if (paramsType == 13) {
+        var contentArr = appeal.split(",");
+        if (contentArr != null && contentArr.length > 0) {
+            for (var i = 0; i < contentArr.length; i++) {
+                var content=contentArr[i].replace(")", "").replace("(", "-");
+                var diagnoseArr = content.split("-");
+                if (diagnoseArr == null || diagnoseArr.length == 0) {
+                    continue;
+                }
+                fitDiagnoseValue(diagnoseArr[0], diagnoseArr[1]);
+            }
         }
     } else {
-        $("#symptom").val(appeal);
+        $("#" + inputId).val(appeal);
+    }
+}
+
+/**
+ * 填充推荐
+ * @param appeal
+ * @param paramsType
+ */
+function fitAppeal(appeal,paramsType) {
+    var inputId = "symptom";
+    var text = "主诉项已经录入,是否覆盖?";
+    if(paramsType==5){
+        inputId= "emrHpi";
+        text="现病史项已经录入,是否覆盖?";
+    }else if(paramsType==6){
+        inputId= "emrPs";
+        text="既往史项已经录入,是否覆盖?";
+    }else if(paramsType==13){
+        inputId= "diagnoseValue";
+        text="诊断项已经录入,是否覆盖?";
+    }
+    var symptom = $("#"+inputId).val();
+    if (symptom != null && symptom != "") {
+        $("#messageModal").modal();
+        $("#messageContent").html(text);
+        $("#messageButton").on("click", function (t) {
+            $("#messageModal").modal("hide");
+            if (paramsType == 13) {
+                $("#" + inputId).val(null);
+                $("#diagnoseTags").html(null);
+            }
+            extracted(paramsType, appeal, inputId);
+        });
+    } else {
+        extracted(paramsType, appeal, inputId);
     }
 }
 
@@ -1622,7 +1614,7 @@ function fillUnClinicPatinet(patientId) {
 
 
 /**
- * 加载主诉窗口
+ * 加载主诉,体格检查,诊断窗口
  */
 function initRecommendList() {
     var width = $("#symptom").parent().css("width");
@@ -1646,7 +1638,7 @@ function initRecommendList() {
     //诊断弹窗
     settings.height = 320;
     var diagnoseWebuiPopover = $('#diagnose').webuiPopover('destroy').webuiPopover(settings);
-    //用户姓名选中事件
+    //主诉选中事件
     $("#symptom").on("click", function (t) {
         if ($(symptomWebuiPopover).css("display") == "block") {
             $("#webuiPopover1 div.arrow").css("left", "23px");
@@ -1681,10 +1673,13 @@ function initRecommendList() {
             $("#webuiPopover1 div.webui-popover-content").append(html);
             $('#paramsType').selectpicker('refresh');
             $("#paramsType").parent().css("width", "140px").css("height", "34px");
+            $("#webuiPopover1").css("z-index","10");
             if( $("#webuiPopover1").hasClass("in")){
                 loadSymptom();
             }
         }
+        //加载智能接诊模块的主诉推荐
+        fitSymptomData();
     });
 
 
@@ -1698,6 +1693,7 @@ function initRecommendList() {
                 html += "<div style='width: 100%;height:210px;overflow-y: auto;padding: 0px 20px;' id='healthCheckupContentHtml'>";
                 html += "</div>";
                 $("#webuiPopover2 div.webui-popover-content").append(html);
+                $("#webuiPopover2").css("z-index","10");
                 if( $("#webuiPopover2").hasClass("in")){
                     loadHealthCheckup();
                 }
@@ -1712,6 +1708,7 @@ function initRecommendList() {
                 html += "<div style='width: 100%;height:210px;overflow-y: auto;padding: 0px 20px;' id='healthCheckupContentHtml'>";
                 html += "</div>";
                 $("#webuiPopover2 div.webui-popover-content").append(html);
+                $("#webuiPopover2").css("z-index","10");
                 if( $("#webuiPopover2").hasClass("in")){
                     loadHealthCheckup();
                 }
@@ -1735,12 +1732,25 @@ function initRecommendList() {
             html += "<div style='width: 100%;height:210px;overflow-y: auto;padding: 0px 20px;' id='diagnoseContentHtml'>";
             html += "</div>";
             $("#webuiPopover3 div.webui-popover-content").append(html);
+            $("#webuiPopover3").css("z-index","10");
             //$("#paramsDiagnose").on('input propertychange', loadDiagnose($("#paramsDiagnose").val()));
             loadDiagnose("");
         }
+        //加载智能接诊模块的诊断推荐推荐
+        fitDiagnoseData();
     });
 
 
+    //现病史选中事件
+    $("#emrHpi").on("click", function (t) {
+        //加载智能接诊模块的现病史推荐推荐
+        fitEmrHpiData();
+    });
+    //既往史选中事件
+    $("#emrPs").on("click", function (t) {
+        //加载智能接诊模块的既往史推荐推荐
+        fitEmrPsData();
+    });
 }
 
 
@@ -1940,7 +1950,7 @@ function loadDiagnose(value) {
     }
     $.ajax({
         type: "GET",
-        url: '/thmz/getTCommonParamsByParamsType?paramsType=4&commonParams=' + value,
+        url: '/thmz/getTCommonParamsByParamsType?paramsType=4&commonParams=' + value+'&pageSize=100',
         contentType: "application/json;charset=UTF-8",
         dataType: "json",
         async: false,

+ 3 - 3
src/main/resources/templates/mz/clinic.html

@@ -341,12 +341,12 @@
                     </div>
                     <div class="item form-group">
                         <label class="my_label">现病史:</label>
-                        <input id="symptom1" class="form-control my_label_input"
+                        <input id="emrHpi" class="form-control my_label_input"
                                placeholder="请输入" type="text" data-placement="bottom-right">
                     </div>
                     <div class="item form-group">
                         <label class="my_label">既往史:</label>
-                        <input id="symptom2" class="form-control my_label_input"
+                        <input id="emrPs" class="form-control my_label_input"
                                placeholder="请输入" type="text" data-placement="bottom-right">
                     </div>
                     <div class="item form-group">
@@ -1944,7 +1944,7 @@
                         <i class="fa fa-info-circle blue fa-3x"></i>
                     </div>
                     <div class="col-md-10 col-sm-10 col-xs-12"
-                         style="font-size: 14px;font-weight: 700;height: 39px;line-height: 39px;">
+                         style="font-size: 14px;font-weight: 700;height: 39px;line-height: 39px;" id="messageContent">
                         当前有病人正在接诊,是否切换?
                     </div>
                 </form>