Jelajahi Sumber

现病史和既往史开发完成

hurugang 4 tahun lalu
induk
melakukan
8ccc803e2a

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

@@ -4,6 +4,7 @@ import cn.hnthyy.thmz.Utils.PyWbUtil;
 import cn.hnthyy.thmz.Utils.TokenUtil;
 import cn.hnthyy.thmz.comment.UserLoginToken;
 import cn.hnthyy.thmz.common.Constants;
+import cn.hnthyy.thmz.entity.MzException;
 import cn.hnthyy.thmz.entity.thmz.TCommonParams;
 import cn.hnthyy.thmz.entity.thmz.User;
 import cn.hnthyy.thmz.enums.ParamsTypeEnum;
@@ -104,8 +105,9 @@ public class TCommonParamsController {
 
     /**
      * 查询通用参数
-     * @param paramsType 参数类型
-     * @param commonParams 通用查询参数
+     *
+     * @param paramsType         参数类型
+     * @param commonParams       通用查询参数
      * @param httpServletRequest
      * @return
      */
@@ -226,4 +228,87 @@ public class TCommonParamsController {
         }
     }
 
+
+    /**
+     * 初始化主诉记录
+     *
+     * @return
+     */
+    @RequestMapping(value = "/initEmrChiefComplaint", method = {RequestMethod.GET})
+    public Map<String, Object> initEmrChiefComplaint() {
+        Map<String, Object> resultMap = new HashMap<>();
+        try {
+            tCommonParamsService.initEmrChiefComplaint();
+            log.info("=====>>>>>全部初始化完成");
+            resultMap.put("code", 0);
+            resultMap.put("message", "已经初始化主诉记录成功");
+            return resultMap;
+        } catch (MzException e) {
+            resultMap.put("code", 0);
+            resultMap.put("message", e.getMessage());
+            return resultMap;
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("初始化主诉记录失败,错误信息{}", e.getMessage());
+            resultMap.put("code", -1);
+            resultMap.put("message", "初始化主诉记录失败");
+            return resultMap;
+        }
+    }
+
+
+    /**
+     * 初始化现病史记录
+     *
+     * @return
+     */
+    @RequestMapping(value = "/initEmrHpi", method = {RequestMethod.GET})
+    public Map<String, Object> initEmrHpi() {
+        Map<String, Object> resultMap = new HashMap<>();
+        try {
+            tCommonParamsService.initEmrHpi();
+            log.info("=====>>>>>全部初始化完成");
+            resultMap.put("code", 0);
+            resultMap.put("message", "已经初始化现病史记录成功");
+            return resultMap;
+        } catch (MzException e) {
+            resultMap.put("code", 0);
+            resultMap.put("message", e.getMessage());
+            return resultMap;
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("初始化现病史记录失败,错误信息{}", e.getMessage());
+            resultMap.put("code", -1);
+            resultMap.put("message", "初始化现病史记录失败");
+            return resultMap;
+        }
+    }
+
+
+    /**
+     * 初始化既往史记录
+     *
+     * @return
+     */
+    @RequestMapping(value = "/initEmrPs", method = {RequestMethod.GET})
+    public Map<String, Object> initEmrPs() {
+        Map<String, Object> resultMap = new HashMap<>();
+        try {
+            tCommonParamsService.initEmrPs();
+            log.info("=====>>>>>全部初始化完成");
+            resultMap.put("code", 0);
+            resultMap.put("message", "已经初始化既往史记录成功");
+            return resultMap;
+        } catch (MzException e) {
+            resultMap.put("code", 0);
+            resultMap.put("message", e.getMessage());
+            return resultMap;
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("初始化既往史记录失败,错误信息{}", e.getMessage());
+            resultMap.put("code", -1);
+            resultMap.put("message", "初始化既往史记录失败");
+            return resultMap;
+        }
+    }
 }

+ 5 - 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-主诉
      * {@link ParamsTypeEnum}
      */
     private Integer paramsType;
@@ -76,4 +76,8 @@ public class TCommonParams implements Serializable {
      * 参数编码   基本是诊断使用
      */
     private String paramsCode;
+    /**
+     * 大长度参数的正式内容,如病史和主诉等
+     */
+    private String paramsContent;
 }

+ 2 - 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-主诉
  */
 public enum ParamsTypeEnum {
     FEATURE(0,"常用症状"),
@@ -13,7 +13,7 @@ public enum ParamsTypeEnum {
     GENERAL_SERVICE_WORD(3,"常用词"),
     DIAGNOSE(4,"诊断"),
     HISTORY_OF_PRESENT_ILLNESS(5,"现病史"),
-    FAMILY_HISTORY(6,"家族史"),
+    FAMILY_HISTORY(6,"既往史"),
     WEIGHT(7,"体重"),
     ANIMAL_HEAT(8,"体温"),
     PULSE(9,"脉搏"),

+ 25 - 0
src/main/java/cn/hnthyy/thmz/mapper/his/mz/MzBlRecordMapper.java

@@ -5,6 +5,9 @@ import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * 病历数据库操作接口
  */
@@ -26,5 +29,27 @@ public interface MzBlRecordMapper {
      */
     @Select("select top 1rtrim(patient_id) patient_id,times from mz_bl_record where patient_id= #{patientId,jdbcType=VARCHAR} order by times desc")
     MzBlRecord selectLastMzVisitTableByPatientId(@Param("patientId") String patientId);
+
+
+    /**
+     * 查询主诉的分组统计数据
+     * @return
+     */
+    @Select("select cast(emr_chief_complaint as varchar(8000)) emr_chief_complaint, count(1) num,rtrim(doctor_code) doctor_code from mz_bl_record  GROUP BY  cast(emr_chief_complaint as varchar(8000) ),doctor_code ")
+    List<Map<String,Object>> selectEmrChiefComplaintCount();
+
+    /**
+     * 查询现病史的分组统计数据
+     * @return
+     */
+    @Select("select cast(emr_hpi as varchar(8000)) emr_hpi, count(1) num,rtrim(doctor_code) doctor_code from mz_bl_record  GROUP BY  cast(emr_hpi as varchar(8000) ),doctor_code ")
+    List<Map<String,Object>> selectEmrHpiCount();
+
+    /**
+     * 查询既往史的分组统计数据
+     * @return
+     */
+    @Select("select cast(emr_ps as varchar(8000)) emr_ps, count(1) num,rtrim(doctor_code) doctor_code from mz_bl_record  GROUP BY  cast(emr_ps as varchar(8000) ),doctor_code ")
+    List<Map<String,Object>> selectEmrPsCount();
 }
 

+ 8 - 5
src/main/java/cn/hnthyy/thmz/mapper/thmz/TCommonParamsMapper.java

@@ -12,9 +12,9 @@ public interface TCommonParamsMapper {
      * @param tCommonParams
      * @return
      */
-    @Insert("INSERT INTO t_common_params(params_name,py_code, wb_code,params_type,create_id_code,create_time,params_status,update_id_code,update_time,used_times,params_code) VALUES " +
+    @Insert("INSERT INTO t_common_params(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) VALUES " +
             "(#{paramsName}, #{pyCode},#{wbCode},#{paramsType},#{createIdCode},#{createTime}," +
-            "#{paramsStatus}, #{updateIdCode}, #{updateTime}, #{usedTimes},#{paramsCode})")
+            "#{paramsStatus}, #{updateIdCode}, #{updateTime}, #{usedTimes},#{paramsCode},#{paramsContent})")
     @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
     int insertTCommonParams(TCommonParams tCommonParams);
 
@@ -25,7 +25,7 @@ public interface TCommonParamsMapper {
      * @param id
      * @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 from t_common_params where id=#{id}")
+    @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);
 
 
@@ -37,7 +37,7 @@ public interface TCommonParamsMapper {
      * @param createIdCode
      * @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 from t_common_params where params_name=#{paramsName} and params_type=#{paramsType} and (create_id_code=#{createIdCode} or create_id_code='00000') and params_status=0 ")
+    @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_name=#{paramsName} and params_type=#{paramsType} and (create_id_code=#{createIdCode} or create_id_code='00000') and params_status=0 ")
     TCommonParams selectByParamsName(@Param("paramsName") String paramsName, @Param("paramsType") Integer paramsType, @Param("createIdCode") String createIdCode);
 
     /**
@@ -49,7 +49,10 @@ public interface TCommonParamsMapper {
      * @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 from t_common_params where params_type=#{paramsType} and (create_id_code=#{createIdCode} or create_id_code='00000') and params_status=0 " ,
+            "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_type=#{paramsType}  and params_status=0 " ,
+            "<when test='createIdCode!=null'>",
+            " and (create_id_code=#{createIdCode} or create_id_code='00000') ",
+            "</when>",
             "<when test='commonParams!=null'>",
             " and (params_name like #{commonParams} or py_code like #{commonParams} or wb_code like #{commonParams} or params_code like #{commonParams})",
             "</when>",

+ 21 - 0
src/main/java/cn/hnthyy/thmz/service/his/mz/TCommonParamsService.java

@@ -1,5 +1,6 @@
 package cn.hnthyy.thmz.service.his.mz;
 
+import cn.hnthyy.thmz.entity.MzException;
 import cn.hnthyy.thmz.entity.thmz.TCommonParams;
 
 import java.util.List;
@@ -63,4 +64,24 @@ public interface TCommonParamsService {
      * @return
      */
     int initDiagnose();
+
+
+    /**
+     * 初始化门诊主诉记录
+     * @return
+     */
+    int initEmrChiefComplaint() throws MzException;
+
+
+    /**
+     * 初始化门诊主诉记录
+     * @return
+     */
+    int initEmrHpi() throws MzException;
+
+    /**
+     * 初始化门诊既往史记录
+     * @return
+     */
+    int initEmrPs() throws MzException;
 }

+ 117 - 1
src/main/java/cn/hnthyy/thmz/service/impl/his/mz/TCommonParamsServiceImpl.java

@@ -2,10 +2,12 @@ package cn.hnthyy.thmz.service.impl.his.mz;
 
 import cn.hnthyy.thmz.Utils.PyWbUtil;
 import cn.hnthyy.thmz.common.Constants;
+import cn.hnthyy.thmz.entity.MzException;
 import cn.hnthyy.thmz.entity.his.zd.ZdIcdCode;
 import cn.hnthyy.thmz.entity.thmz.TCommonParams;
 import cn.hnthyy.thmz.enums.ParamsTypeEnum;
 import cn.hnthyy.thmz.enums.YesNoEnum;
+import cn.hnthyy.thmz.mapper.his.mz.MzBlRecordMapper;
 import cn.hnthyy.thmz.mapper.his.mz.MzVisitTableMapper;
 import cn.hnthyy.thmz.mapper.his.zd.ZdIcdCodeMapper;
 import cn.hnthyy.thmz.mapper.thmz.TCommonParamsMapper;
@@ -33,6 +35,10 @@ public class TCommonParamsServiceImpl implements TCommonParamsService {
     @SuppressWarnings("all")
     @Autowired
     private MzVisitTableMapper mzVisitTableMapper;
+    @SuppressWarnings("all")
+    @Autowired
+    private MzBlRecordMapper mzBlRecordMapper;
+
 
     @Override
     public int saveTCommonParams(TCommonParams tCommonParams) {
@@ -123,9 +129,119 @@ public class TCommonParamsServiceImpl implements TCommonParamsService {
                         tCommonParams.setUsedTimes(Long.valueOf(num));
                     }
                 }
-                tCommonParamsMapper.insertTCommonParams(tCommonParams);
+                try{
+                    tCommonParamsMapper.insertTCommonParams(tCommonParams);
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
             }
         }
         return zdIcdCodeList.size();
     }
+
+    @Override
+    public int initEmrChiefComplaint() throws MzException {
+        List<TCommonParams> tCommonParamsList =tCommonParamsMapper.selectTCommonParamsByParamsType(ParamsTypeEnum.SYMPTOM.code, null, null, null);
+        if (tCommonParamsList != null && tCommonParamsList.size() > 0) {
+            throw new MzException("已经初始化主诉记录,请勿重复操作");
+        }
+        List<Map<String,Object>> emrChiefComplaintCountMap= mzBlRecordMapper.selectEmrChiefComplaintCount();
+        if(emrChiefComplaintCountMap!=null && emrChiefComplaintCountMap.size()>0){
+            TCommonParams tCommonParams = new TCommonParams();
+            tCommonParams.setParamsType(ParamsTypeEnum.SYMPTOM.code);
+            tCommonParams.setCreateTime(new Date());
+            for(Map<String,Object> map:emrChiefComplaintCountMap){
+               String emrChiefComplaint= (String) map.get("emr_chief_complaint");
+                if(StringUtils.isBlank(emrChiefComplaint)){
+                    continue;
+                }
+                tCommonParams.setParamsName(emrChiefComplaint);
+                tCommonParams.setCreateIdCode((String) map.get("doctor_code"));
+                tCommonParams.setWbCode(PyWbUtil.getWBCode(tCommonParams.getParamsName()));
+                tCommonParams.setPyCode(PyWbUtil.toBigFirstChar(tCommonParams.getParamsName()));
+                tCommonParams.setParamsStatus(YesNoEnum.NO.code);
+                tCommonParams.setUsedTimes(Long.valueOf((Integer)map.get("num")));
+                try{
+                    tCommonParamsMapper.insertTCommonParams(tCommonParams);
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }
+        }
+        return emrChiefComplaintCountMap.size();
+    }
+
+    @Override
+    public int initEmrHpi() throws MzException {
+        List<TCommonParams> tCommonParamsList =tCommonParamsMapper.selectTCommonParamsByParamsType(ParamsTypeEnum.HISTORY_OF_PRESENT_ILLNESS.code, null, null, null);
+        if (tCommonParamsList != null && tCommonParamsList.size() > 0) {
+            throw new MzException("已经初始化现病史记录,请勿重复操作");
+        }
+        List<Map<String,Object>> emrHpiCountMap= mzBlRecordMapper.selectEmrHpiCount();
+        if(emrHpiCountMap!=null && emrHpiCountMap.size()>0){
+            TCommonParams tCommonParams = new TCommonParams();
+            tCommonParams.setParamsType(ParamsTypeEnum.HISTORY_OF_PRESENT_ILLNESS.code);
+            tCommonParams.setCreateTime(new Date());
+            for(Map<String,Object> map:emrHpiCountMap){
+                String emrHpi= (String) map.get("emr_hpi");
+                if(emrHpi==null || StringUtils.isBlank(emrHpi)){
+                    continue;
+                }
+                tCommonParams.setParamsContent(emrHpi);
+                if(emrHpi.length()>20){
+                    tCommonParams.setParamsName(emrHpi.substring(0,20));
+                }else {
+                    tCommonParams.setParamsName(emrHpi);
+                }
+                tCommonParams.setCreateIdCode((String) map.get("doctor_code"));
+                tCommonParams.setWbCode(PyWbUtil.getWBCode(tCommonParams.getParamsName()));
+                tCommonParams.setPyCode(PyWbUtil.toBigFirstChar(tCommonParams.getParamsName()));
+                tCommonParams.setParamsStatus(YesNoEnum.NO.code);
+                tCommonParams.setUsedTimes(Long.valueOf((Integer)map.get("num")));
+                try{
+                    tCommonParamsMapper.insertTCommonParams(tCommonParams);
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }
+        }
+        return emrHpiCountMap.size();
+    }
+
+    @Override
+    public int initEmrPs() throws MzException {
+        List<TCommonParams> tCommonParamsList =tCommonParamsMapper.selectTCommonParamsByParamsType(ParamsTypeEnum.FAMILY_HISTORY.code, null, null, null);
+        if (tCommonParamsList != null && tCommonParamsList.size() > 0) {
+            throw new MzException("已经初始化既往史记录,请勿重复操作");
+        }
+        List<Map<String,Object>> emrPsCountMap= mzBlRecordMapper.selectEmrPsCount();
+        if(emrPsCountMap!=null && emrPsCountMap.size()>0){
+            TCommonParams tCommonParams = new TCommonParams();
+            tCommonParams.setParamsType(ParamsTypeEnum.FAMILY_HISTORY.code);
+            tCommonParams.setCreateTime(new Date());
+            for(Map<String,Object> map:emrPsCountMap){
+                String emrPs= (String) map.get("emr_ps");
+                if(emrPs==null || StringUtils.isBlank(emrPs)){
+                    continue;
+                }
+                tCommonParams.setParamsContent(emrPs);
+                if(emrPs.length()>20){
+                    tCommonParams.setParamsName(emrPs.substring(0,20));
+                }else {
+                    tCommonParams.setParamsName(emrPs);
+                }
+                tCommonParams.setCreateIdCode((String) map.get("doctor_code"));
+                tCommonParams.setWbCode(PyWbUtil.getWBCode(tCommonParams.getParamsName()));
+                tCommonParams.setPyCode(PyWbUtil.toBigFirstChar(tCommonParams.getParamsName()));
+                tCommonParams.setParamsStatus(YesNoEnum.NO.code);
+                tCommonParams.setUsedTimes(Long.valueOf((Integer)map.get("num")));
+                try{
+                    tCommonParamsMapper.insertTCommonParams(tCommonParams);
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }
+        }
+        return emrPsCountMap.size();
+    }
 }

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

@@ -345,7 +345,7 @@
                                placeholder="请输入" type="text" data-placement="bottom-right">
                     </div>
                     <div class="item form-group">
-                        <label class="my_label">家族史:</label>
+                        <label class="my_label">既往史:</label>
                         <input id="symptom2" class="form-control my_label_input"
                                placeholder="请输入" type="text" data-placement="bottom-right">
                     </div>