Преглед на файлове

记录医生点击质控病历信息

chengyao преди 3 години
родител
ревизия
4dea270a68

+ 1 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -214,6 +214,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/qc/medLisInfo/getExamineSonPage").permitAll()
                 .antMatchers("/console/medicalCheckForm").permitAll()
                 .antMatchers("/qc/behospitalInfo/analyzeCds").permitAll()
+                .antMatchers("/qc/behospitalInfo/addMedClickInfo").permitAll()
                 .antMatchers("/console/medicalCheckTitle").permitAll()
                 .antMatchers("/console/export/medicalCheckExport").permitAll()
                 .antMatchers("/console/export/medicalCheckInnerExport").permitAll()

+ 1 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -256,6 +256,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/medPacsInfo/getCheckPage", request)
                 || matchers("/qc/medLisInfo/getExaminePage", request)
                 || matchers("/qc/behospitalInfo/analyzeCds", request)
+                || matchers("/qc/behospitalInfo/addMedClickInfo", request)
                 || matchers("/qc/medLisInfo/getExamineSonPage", request)
                 || matchers("/console/medicalCheckForm", request)
                 || matchers("/console/medicalCheckTitle", request)

+ 87 - 0
src/main/java/com/diagbot/entity/MedClickInfo.java

@@ -0,0 +1,87 @@
+package com.diagbot.entity;
+
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 医生点击质控病历次数基本表
+ * </p>
+ *
+ * @author cy
+ * @since 2021-11-10
+ */
+@Data
+public class MedClickInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 医院ID
+     */
+    private Integer hospitalId;
+
+    /**
+     * 科室ID
+     */
+    private String deptId;
+
+    /**
+     * 科室名称
+     */
+    private String deptName;
+
+    /**
+     * 医生ID
+     */
+    private String doctorId;
+
+    /**
+     * 医生姓名
+     */
+    private String doctorName;
+
+    /**
+     * 质控结果基本信息ID
+     */
+    private Integer qcresultInfoId;
+
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     *  记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     *  记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+}

+ 52 - 35
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -14,6 +14,7 @@ import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.BehospitalInfoServiceImpl;
+import com.diagbot.service.impl.MedClickInfoServiceImpl;
 import com.diagbot.service.impl.StrInformedConsentServiceImpl;
 import com.diagbot.util.*;
 import com.diagbot.vo.*;
@@ -29,7 +30,6 @@ import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -145,9 +145,10 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
     QcCasesRelevanceEntryFacade qcCasesRelevanceEntryFacade;
     @Autowired
     StrInformedConsentServiceImpl strInformedConsentServiceImpl;
-
     @Autowired
     SysUserRoleFacade sysUserRoleFacade;
+    @Autowired
+    MedClickInfoServiceImpl medClickInfoService;
 
 
     /**
@@ -238,8 +239,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该病历已删除!");
             }
             BeanUtil.copyProperties(behospitalInfo, behosDTO);
-            if(null != homePage && StringUtils.isNotEmpty(homePage.getAge()) && StringUtils.isNotEmpty(homePage.getAgeUnit())){
-                behosDTO.setAge(homePage.getAge()+homePage.getAgeUnit());
+            if (null != homePage && StringUtils.isNotEmpty(homePage.getAge()) && StringUtils.isNotEmpty(homePage.getAgeUnit())) {
+                behosDTO.setAge(homePage.getAge() + homePage.getAgeUnit());
             }
             res.put("beHospital", behosDTO);
         }
@@ -2286,38 +2287,38 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         //保存
         Map<String, Object> pageMap = outputInfo.getPageData();
         //保存解析过后的手术知情同意书
-            List<String> recIds = new ArrayList<>();
-            if(pageMap.containsKey("手术知情同意书")){
-                Object informObject = pageMap.get("手术知情同意书");
-                List<Map<String,Object>> informList= (List<Map<String,Object>>) informObject;
-                List<StrInformedConsent> strInformedConsents = new ArrayList<>();
-                if(ListUtil.isNotEmpty(informList)) {
-                    informList.forEach(obj ->
-                            {
-                                Map<String, String> strMap = new HashMap<>();
-                                strMap.put("使用植入性材料", String.valueOf(obj.get("使用植入性材料")));
-                                StrInformedConsent strInformedConsent = new StrInformedConsent();
-                                strInformedConsent.setHospitalId(analyzeVO.getHospitalId());
-                                strInformedConsent.setBehospitalCode(analyzeVO.getBehospitalCode());
-                                strInformedConsent.setRecId(String.valueOf(obj.get("记录编号")));
-                                strInformedConsent.setRecTitle(String.valueOf(obj.get("病历标题")));
-                                strInformedConsent.setRecType("知情同意书");
-                                strInformedConsent.setContent(JSONObject.toJSONString(strMap));
-                                strInformedConsent.setGmtCreate(new Date());
-                                strInformedConsents.add(strInformedConsent);
-                                recIds.add(String.valueOf(obj.get("记录编号")));
-                            }
-                    );
-                    //删除手术知情同意书历史ric_id
-                    strInformedConsentServiceImpl.remove( new QueryWrapper<StrInformedConsent>()
-                            .eq("hospital_id",analyzeVO.getHospitalId())
-                            .eq("is_deleted",IsDeleteEnum.N.getKey())
-                            .eq("behospital_code",analyzeVO.getBehospitalCode())
-                            .in("rec_id",recIds));
-                    //新增
-                    strInformedConsentServiceImpl.saveBatch(strInformedConsents);
-                }
+        List<String> recIds = new ArrayList<>();
+        if (pageMap.containsKey("手术知情同意书")) {
+            Object informObject = pageMap.get("手术知情同意书");
+            List<Map<String, Object>> informList = (List<Map<String, Object>>) informObject;
+            List<StrInformedConsent> strInformedConsents = new ArrayList<>();
+            if (ListUtil.isNotEmpty(informList)) {
+                informList.forEach(obj ->
+                        {
+                            Map<String, String> strMap = new HashMap<>();
+                            strMap.put("使用植入性材料", String.valueOf(obj.get("使用植入性材料")));
+                            StrInformedConsent strInformedConsent = new StrInformedConsent();
+                            strInformedConsent.setHospitalId(analyzeVO.getHospitalId());
+                            strInformedConsent.setBehospitalCode(analyzeVO.getBehospitalCode());
+                            strInformedConsent.setRecId(String.valueOf(obj.get("记录编号")));
+                            strInformedConsent.setRecTitle(String.valueOf(obj.get("病历标题")));
+                            strInformedConsent.setRecType("知情同意书");
+                            strInformedConsent.setContent(JSONObject.toJSONString(strMap));
+                            strInformedConsent.setGmtCreate(new Date());
+                            strInformedConsents.add(strInformedConsent);
+                            recIds.add(String.valueOf(obj.get("记录编号")));
+                        }
+                );
+                //删除手术知情同意书历史ric_id
+                strInformedConsentServiceImpl.remove(new QueryWrapper<StrInformedConsent>()
+                        .eq("hospital_id", analyzeVO.getHospitalId())
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("behospital_code", analyzeVO.getBehospitalCode())
+                        .in("rec_id", recIds));
+                //新增
+                strInformedConsentServiceImpl.saveBatch(strInformedConsents);
             }
+        }
         // 手动拼接数据【知情同意书】【谈话告知书】
         List<MedicalRecord> recordList = medicalRecordFacade.list(new QueryWrapper<MedicalRecord>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -2465,6 +2466,22 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         return baseMapper.malignancy(filterVO);
     }
 
+    /**
+     * @Description:医生质控信息次数
+     * @Param: [medClickInfoVO]
+     * @return: void
+     * @Author: cy
+     * @Date: 2021/11/10
+     */
+    public Boolean addMedClickInfo(MedClickInfoVO medClickInfoVO) {
+        MedClickInfo medClickInfo = new MedClickInfo();
+        medClickInfo.setHospitalId(Integer.valueOf(SysUserUtils.getCurrentHospitalID()));
+        medClickInfo.setCreator(SysUserUtils.getCurrentPrincipleID());
+        BeanUtil.copyProperties(medClickInfoVO, medClickInfo);
+        medClickInfo.setGmtCreate(new Date());
+        return medClickInfoService.save(medClickInfo);
+    }
+
     /**
      * 获取患者年龄信息(通过出生日期和入院日期重新计算)
      *

+ 16 - 0
src/main/java/com/diagbot/mapper/MedClickInfoMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.MedClickInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 医生点击质控病历次数基本表 Mapper 接口
+ * </p>
+ *
+ * @author cy
+ * @since 2021-11-10
+ */
+public interface MedClickInfoMapper extends BaseMapper<MedClickInfo> {
+
+}

+ 16 - 0
src/main/java/com/diagbot/service/MedClickInfoService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.MedClickInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 医生点击质控病历次数基本表 服务类
+ * </p>
+ *
+ * @author cy
+ * @since 2021-11-10
+ */
+public interface MedClickInfoService extends IService<MedClickInfo> {
+
+}

+ 20 - 0
src/main/java/com/diagbot/service/impl/MedClickInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.MedClickInfo;
+import com.diagbot.mapper.MedClickInfoMapper;
+import com.diagbot.service.MedClickInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 医生点击质控病历次数基本表 服务实现类
+ * </p>
+ *
+ * @author cy
+ * @since 2021-11-10
+ */
+@Service
+public class MedClickInfoServiceImpl extends ServiceImpl<MedClickInfoMapper, MedClickInfo> implements MedClickInfoService {
+
+}

+ 50 - 0
src/main/java/com/diagbot/vo/MedClickInfoVO.java

@@ -0,0 +1,50 @@
+package com.diagbot.vo;
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 医生点击质控病历次数基本表
+ * </p>
+ *
+ * @author cy
+ * @since 2021-11-10
+ */
+@Data
+public class MedClickInfoVO implements Serializable {
+
+    /**
+     * 医院ID
+     */
+    private Integer hospitalId;
+
+    /**
+     * 科室ID
+     */
+    private String deptId;
+
+    /**
+     * 科室名称
+     */
+    private String deptName;
+
+    /**
+     * 医生ID
+     */
+    private String doctorId;
+
+    /**
+     * 医生姓名
+     */
+    private String doctorName;
+
+    /**
+     * 质控结果基本信息ID
+     */
+    private Integer qcresultInfoId;
+
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+}

+ 7 - 0
src/main/java/com/diagbot/web/BehospitalInfoController.java

@@ -284,4 +284,11 @@ public class BehospitalInfoController {
         return RespDTO.onSuc(behospitalInfoFacade.analyzeCds(analyzeCdsVO));
     }
 
+    @ApiOperation(value = "记录医生点击质控病历信息[by:cy]",
+            notes = "")
+    @PostMapping("/addMedClickInfo")
+    @SysLogger("addMedClickInfo")
+    public RespDTO<Boolean> addMedClickInfo(@RequestBody MedClickInfoVO medClickInfoVO) {
+        return RespDTO.onSuc(behospitalInfoFacade.addMedClickInfo(medClickInfoVO));
+    }
 }

+ 8 - 6
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -14153,9 +14153,6 @@
         on  b.is_deleted = 'N'
         AND be.hospital_id = b.hospital_id
         AND be.behospital_code = b.behospital_code
-        <if test="qcResultShortPageVO.level != null and qcResultShortPageVO.level != ''">
-            AND b.`level` = #{qcResultShortPageVO.level}
-        </if>
         left join qc_cases_entry d
         on  d.is_deleted = 'N'
         AND be.cases_id = d.cases_id
@@ -14190,6 +14187,9 @@
         <if test="qcResultShortPageVO.checkStatus != null">
             AND t.checkStatus = #{qcResultShortPageVO.checkStatus}
         </if>
+        <if test="qcResultShortPageVO.level != null and qcResultShortPageVO.level != ''">
+            AND t.level = #{qcResultShortPageVO.level}
+        </if>
         <if test="qcResultShortPageVO.mrStatus != null">
             AND t.mrStatus = #{qcResultShortPageVO.mrStatus}
         </if>
@@ -14228,6 +14228,7 @@
         t1.beh_dept_name AS behDeptName,
         t1.hospital_id as hospitalId,
         t1.behospital_code as behospitalCode,
+        t1.`level`,
         t1.checkStatus,
         t1.mrStatus,
         t1.chName,
@@ -14239,6 +14240,7 @@
         be.*,
         b.grade_type,
         b.score_res,
+        b.`level`,
         b.gmt_create,
         b.LEVEL,
         ifnull(mci.status,0) AS checkStatus,
@@ -14370,9 +14372,6 @@
         on  b.is_deleted = 'N'
         AND be.hospital_id = b.hospital_id
         AND be.behospital_code = b.behospital_code
-        <if test="qcResultShortPageVO.level != null and qcResultShortPageVO.level != ''">
-            AND b.`level` = #{qcResultShortPageVO.level}
-        </if>
         ) t1
         LEFT JOIN med_home_page t2 ON t1.hospital_id = t2.hospital_id
         AND t1.behospital_code = t2.behospital_code
@@ -14385,6 +14384,9 @@
         <if test="qcResultShortPageVO.checkStatus != null">
             AND t.checkStatus = #{qcResultShortPageVO.checkStatus}
         </if>
+        <if test="qcResultShortPageVO.level != null and qcResultShortPageVO.level != ''">
+            AND t.level = #{qcResultShortPageVO.level}
+        </if>
         <if test="qcResultShortPageVO.mrStatus != null">
             AND t.mrStatus = #{qcResultShortPageVO.mrStatus}
         </if>

+ 22 - 0
src/main/resources/mapper/MedClickInfoMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.MedClickInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.MedClickInfo">
+        <id column="id" property="id" />
+        <result column="hospital_id" property="hospitalId" />
+        <result column="dept_id" property="deptId" />
+        <result column="dept_name" property="deptName" />
+        <result column="doctor_id" property="doctorId" />
+        <result column="doctor_name" property="doctorName" />
+        <result column="qcresult_info_id" property="qcresultInfoId" />
+        <result column="behospital_code" property="behospitalCode" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+    </resultMap>
+
+</mapper>