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

杭州七院:代码上传

wangsy преди 1 година
родител
ревизия
4a2d4f524e
променени са 27 файла, в които са добавени 1404 реда и са изтрити 686 реда
  1. 25 0
      src/main/java/com/diagbot/config/MyWebConfigurer.java
  2. 2 0
      src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  3. 2 0
      src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  4. 48 0
      src/main/java/com/diagbot/dto/QcRuleWarnDTO.java
  5. 27 0
      src/main/java/com/diagbot/dto/RuleMsgDTO.java
  6. 158 0
      src/main/java/com/diagbot/entity/QcRuleWarn.java
  7. 83 11
      src/main/java/com/diagbot/facade/BehospitalInfoFacade.java
  8. 5 4
      src/main/java/com/diagbot/facade/MedCheckWorkFacade.java
  9. 171 22
      src/main/java/com/diagbot/facade/QcresultInfoFacade.java
  10. 2 2
      src/main/java/com/diagbot/facade/RecordCheckFacade.java
  11. 61 21
      src/main/java/com/diagbot/facade/SysUserFacade.java
  12. 4 0
      src/main/java/com/diagbot/facade/data/ABehospitalInfoFacade.java
  13. 4 0
      src/main/java/com/diagbot/facade/data/AMedicalRecordFacade.java
  14. 15 0
      src/main/java/com/diagbot/mapper/QcRuleWarnMapper.java
  15. 16 0
      src/main/java/com/diagbot/service/QcRuleWarnService.java
  16. 20 0
      src/main/java/com/diagbot/service/impl/QcRuleWarnServiceImpl.java
  17. 5 0
      src/main/java/com/diagbot/util/ReadProperties.java
  18. 663 616
      src/main/java/com/diagbot/util/TZDBConn.java
  19. 37 0
      src/main/java/com/diagbot/vo/QcRuleWarnAlgVO.java
  20. 25 0
      src/main/java/com/diagbot/vo/QcRuleWarnVO.java
  21. 2 0
      src/main/java/com/diagbot/vo/UserLoginVO.java
  22. 17 0
      src/main/java/com/diagbot/web/BehospitalInfoController.java
  23. 1 1
      src/main/java/com/diagbot/web/SysUserController.java
  24. 7 7
      src/main/resources/application-pre.yml
  25. 2 0
      src/main/resources/jdbc.properties
  26. 1 1
      src/main/resources/mapper/BehospitalInfoMapper.xml
  27. 1 1
      src/test/java/com/diagbot/MrqcSysApplicationTests.java

+ 25 - 0
src/main/java/com/diagbot/config/MyWebConfigurer.java

@@ -0,0 +1,25 @@
+package com.diagbot.config;
+
+import org.springframework.boot.SpringBootConfiguration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+
+@SpringBootConfiguration
+public class MyWebConfigurer implements WebMvcConfigurer {
+
+    @Override
+    public void addCorsMappings(CorsRegistry corsRegistry){
+        /**
+         * 所有请求都允许跨域,使用这种配置就不需要
+         * 在interceptor中配置header了
+         */
+        corsRegistry.addMapping("/**")
+                .allowCredentials(true)
+                .allowedOrigins("*")
+                .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
+                .allowedHeaders("*")
+                .maxAge(3600);
+    }
+
+}

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

@@ -63,6 +63,8 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/qc/behospitalInfo/analyze_rpc").permitAll()
                 .antMatchers("/qc/behospitalInfo/analyze_api").permitAll()
                 .antMatchers("/qc/behospitalInfo/analyze_run").permitAll()
+                .antMatchers("/qc/behospitalInfo/sendRuleWarn").permitAll()
+                .antMatchers("/qc/behospitalInfo/checkRule").permitAll()
                 .antMatchers("/qc/module/getById").permitAll()
                 .antMatchers("/qc/module/getModuleMap").permitAll()
                 .antMatchers("/qc/cases/getQcCases").permitAll()

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

@@ -138,6 +138,8 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/behospitalInfo/analyze_rpc", request)
                 || matchers("/qc/behospitalInfo/analyze_api", request)
                 || matchers("/qc/behospitalInfo/analyze_run", request)
+                || matchers("/qc/behospitalInfo/sendRuleWarn", request)
+                || matchers("/qc/behospitalInfo/checkRule", request)
                 || matchers("/qc/module/getById", request)
                 || matchers("/qc/module/getModuleMap", request)
                 || matchers("/qc/cases/getQcCases", request)

+ 48 - 0
src/main/java/com/diagbot/dto/QcRuleWarnDTO.java

@@ -0,0 +1,48 @@
+package com.diagbot.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: dsYun
+ * @time: 2024/03/02
+ */
+@Getter
+@Setter
+public class QcRuleWarnDTO {
+    //病案号
+    private String fileCode;
+    //姓名
+    private String name;
+    //病区
+    private String wardName;
+    //科室
+    private String deptName;
+    //主治医生
+    private String doctorName;
+    //发送时间
+    private Date sendDate;
+    // 入院时间
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date behospitalDate;
+    //出院时间
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date leaveHospitalDate;
+    //得分
+    private BigDecimal scoreRes;
+    //等级
+    private String level;
+    //缺陷总数
+    private Long num;
+    //缺陷总扣分
+    private BigDecimal numScore;
+    // 缺陷条目
+    private List<RuleMsgDTO> msgDTOList = new ArrayList<>();
+}

+ 27 - 0
src/main/java/com/diagbot/dto/RuleMsgDTO.java

@@ -0,0 +1,27 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: dsYun
+ * @time: 2024/03/02
+ */
+@Getter
+@Setter
+public class RuleMsgDTO {
+    //得分
+    private BigDecimal score;
+    //提示信息
+    private String msg;
+    //提示信息
+    private String info;
+    //模块名称
+    private String modelName;
+}

+ 158 - 0
src/main/java/com/diagbot/entity/QcRuleWarn.java

@@ -0,0 +1,158 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author dsYun
+ * @since 2024-03-01
+ */
+@TableName("qc_rule_warn")
+@Data
+public class QcRuleWarn implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+    /**
+     * 评分结果ID
+     */
+    private Long qcresultInfoId;
+
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+
+    /**
+     * 病案号
+     */
+    private String fileCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 病区名称
+     */
+    private String wardName;
+
+    /**
+     * 科室名称
+     */
+    private String deptName;
+
+    /**
+     * 主治医生
+     */
+    private String doctorName;
+
+    /**
+     * 入院时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date behospitalDate;
+
+    /**
+     * 出院时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date leaveHospitalDate;
+
+    /**
+     * 用户id
+     */
+    private int userId;
+
+    /**
+     * 模块id
+     */
+    private Long casesId;
+
+    /**
+     * 模块名称
+     */
+    private String modelName;
+
+    /**
+     * 模块总分
+     */
+    private BigDecimal casesScore;
+
+    /**
+     * 条目ID
+     */
+    private Long casesEntryId;
+
+    /**
+     * 分值
+     */
+    private BigDecimal score;
+
+    /**
+     * 条目提示信息
+     */
+    private String msg;
+
+    /**
+     * 质控返回提示信息
+     */
+    private String info;
+
+    /**
+     * url
+     */
+    private String url;
+
+    /**
+     * 单项否决(1-单项否决 0-非)
+     */
+    private Integer isReject;
+
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 83 - 11
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.AuthServiceClient;
 import com.diagbot.dto.*;
@@ -14,6 +15,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.QcRuleWarnServiceImpl;
 import com.diagbot.service.impl.QcresultDetailServiceImpl;
 import com.diagbot.service.impl.StrInformedConsentServiceImpl;
 import com.diagbot.util.*;
@@ -159,6 +161,14 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
     @Autowired
     BasDeptInfoFacade basDeptInfoFacade;
 
+    @Autowired
+    @Qualifier("qcRuleWarnServiceImpl")
+    private QcRuleWarnServiceImpl qcRuleWarnServiceImpl;
+    @Autowired
+    @Qualifier("qcresultDetailServiceImpl")
+    private QcresultDetailServiceImpl qcresultDetailServiceImpl;
+
+    private TZDBConn tzDBConn = new TZDBConn();
 
     /**
      * 分页
@@ -1838,12 +1848,72 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
             }
         }
         ;
+
+        // 获取规则条目信息
+        List<QcRuleWarn> qcRuleWarns
+                = qcRuleWarnServiceImpl.list(
+                new QueryWrapper<QcRuleWarn>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("hospital_id", "14")
+                        .eq("behospital_code", analyzeRunVO.getBehospitalCode()));
+        if (qcRuleWarns.size() > 0) {
+            for (QcRuleWarn qcRuleWarn : qcRuleWarns) {
+                QcresultDetail qcresultDetail
+                        = qcresultDetailServiceImpl.getOne(
+                        new QueryWrapper<QcresultDetail>()
+                                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                                .eq("hospital_id", hospitalId)
+                                .eq("behospital_code", qcRuleWarn.getBehospitalCode())
+                                .eq("cases_entry_id", qcRuleWarn.getCasesEntryId()));
+                if (null == qcresultDetail) {
+                    QcresultDetail q = new QcresultDetail();
+                    q.setHospitalId(qcRuleWarn.getHospitalId());
+                    q.setBehospitalCode(qcRuleWarn.getBehospitalCode());
+                    q.setCasesId(qcRuleWarn.getCasesId());
+                    q.setCasesScore(qcRuleWarn.getCasesScore());
+                    q.setCasesEntryId(qcRuleWarn.getCasesEntryId());
+                    q.setScore(qcRuleWarn.getScore());
+                    q.setMsg(qcRuleWarn.getMsg());
+                    q.setInfo(qcRuleWarn.getInfo());
+                    q.setIsReject(qcRuleWarn.getIsReject());
+                    q.setGradeType(2);
+                    q.setOptType(2);
+                    q.setIsDeleted(IsDeleteEnum.Y.getKey());
+                    q.setGmtCreate(new Date());
+                    q.setGmtModified(new Date());
+                    qcresultDetailServiceImpl.save(q);
+                } else {
+                    if ("1".equals(analyzeRunVO.getIsPlacefile())) {
+                        qcresultDetailServiceImpl.update(new UpdateWrapper<QcresultDetail>()
+                                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                                .eq("hospital_id", hospitalId)
+                                .eq("behospital_code", qcRuleWarn.getBehospitalCode())
+                                .eq("cases_entry_id", qcRuleWarn.getCasesEntryId())
+                                .set("grade_type", 2)
+                                .set("opt_type", 2)
+                                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                                .set("gmt_modified", new Date()));
+                    }
+                }
+                qcRuleWarnServiceImpl.update(new UpdateWrapper<QcRuleWarn>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("hospital_id", hospitalId)
+                        .eq("behospital_code", qcRuleWarn.getBehospitalCode())
+                        .eq("cases_entry_id", qcRuleWarn.getCasesEntryId())
+                        .set("is_deleted", IsDeleteEnum.Y.getKey())
+                        .set("gmt_modified", new Date()));
+            }
+            try {
+                String sql = "UPDATE JKCDSS_RULE_WARN SET STATE = 2 WHERE BEHOSPITAL_CODE='" + analyzeRunVO.getBehospitalCode() + "'";
+                tzDBConn.upRule(sql);
+            } catch (Exception e) {
+                throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL, "oracle数据插入失败!");
+            }
+        }
         return resMapData;
     }
 
 
-
-
     /**
      * 获取明细api
      *
@@ -2273,7 +2343,7 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
             qcResultAlgVOList = qcCasesEntryFacade.getQcResultAlgVO(qcResultAlgQueryVO);
         }
         //关爱病区病历扣分项目中涉及个人史、既往史、家族史、婚姻史条目扣分为0
-        specialDeptData(analyzeVO,qcResultAlgVOList);
+        specialDeptData(analyzeVO, qcResultAlgVOList);
         // 对info赋值
         for (QcResultAlgVO bean : qcResultAlgVOList) {
             String info = codeToInfoMap.get(bean.getCode());
@@ -2326,7 +2396,7 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
             qcResultAlgVOList = qcCasesEntryFacade.getQcResultAlgVO(qcResultAlgQueryVO);
         }
         //关爱病区病历扣分项目中涉及个人史、既往史、家族史、婚姻史条目扣分为0
-        specialDeptData(analyzeVO,qcResultAlgVOList);
+        specialDeptData(analyzeVO, qcResultAlgVOList);
         // 对info赋值
         for (QcResultAlgVO bean : qcResultAlgVOList) {
             String info = codeToInfoMap.get(bean.getCode());
@@ -2488,7 +2558,7 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         return qcresultDetails;
     }
 
-    void specialDeptData(AnalyzeVO analyzeVO, List<QcResultAlgVO> qcResultAlgVOList){
+    void specialDeptData(AnalyzeVO analyzeVO, List<QcResultAlgVO> qcResultAlgVOList) {
         BasDeptInfo basDeptInfo = basDeptInfoFacade.lambdaQuery()
                 .eq(BasDeptInfo::getHospitalId, analyzeVO.getHospitalId())
                 .eq(BasDeptInfo::getIsDeleted, IsDeleteEnum.N.getKey())
@@ -2500,25 +2570,27 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
                 .eq(BehospitalInfo::getBehospitalCode, analyzeVO.getBehospitalCode()).one();
 
 
-        if(null != basDeptInfo && null != behospitalInfo && StringUtils.isNotBlank(basDeptInfo.getDeptId())
+        if (null != basDeptInfo && null != behospitalInfo && StringUtils.isNotBlank(basDeptInfo.getDeptId())
                 && StringUtils.isNotBlank(behospitalInfo.getBehDeptId())
                 && basDeptInfo.getDeptId().equals((behospitalInfo.getBehDeptId()))
-                && ListUtil.isNotEmpty(qcResultAlgVOList)){
+                && ListUtil.isNotEmpty(qcResultAlgVOList)) {
             List<Long> casesEntryIds = qcCasesEntryFacade.lambdaQuery()
                     .eq(QcCasesEntry::getIsDeleted, IsDeleteEnum.N.getKey())
                     .like(QcCasesEntry::getName, "个人史")
                     .like(QcCasesEntry::getName, "既往史")
                     .like(QcCasesEntry::getName, "家族史")
                     .like(QcCasesEntry::getName, "婚姻史").list().stream().map(QcCasesEntry::getId).collect(Collectors.toList());
-            if(ListUtil.isNotEmpty(casesEntryIds)){
-                qcResultAlgVOList.forEach(obj->{
-                    if(casesEntryIds.contains(obj.getCasesEntryId())){
+            if (ListUtil.isNotEmpty(casesEntryIds)) {
+                qcResultAlgVOList.forEach(obj -> {
+                    if (casesEntryIds.contains(obj.getCasesEntryId())) {
                         obj.setScore(BigDecimal.ZERO);
                     }
                 });
             }
         }
-    };
+    }
+
+    ;
 
     /**
      * cds访问质控接口

+ 5 - 4
src/main/java/com/diagbot/facade/MedCheckWorkFacade.java

@@ -90,6 +90,7 @@ public class MedCheckWorkFacade {
     private BasDoctorInfoFacade basDoctorInfoFacade;
     @Autowired
     private SysHospitalSetFacade sysHospitalSetFacade;
+
     /**
      * @Author songxl
      * @Description 批量操作核查任务(增加和删除)
@@ -342,12 +343,12 @@ public class MedCheckWorkFacade {
                         .eq("is_deleted", IsDeleteEnum.N.getKey())
                         .in("group_id", codes)
                         .or().isNull("group_id")
-                        .in(ListUtil.isNotEmpty(checkWorkPageVO.getDepts()),"dept_id",checkWorkPageVO.getDepts()));
+                        .in(ListUtil.isNotEmpty(checkWorkPageVO.getDepts()), "dept_id", checkWorkPageVO.getDepts()));
                 checkWorkPageVO.setDoctorIds(basDoctorInfos.stream().map(BasDoctorInfo::getDoctorId).collect(Collectors.toList()));
             }
             //获取VIP开房病区科室id
             String deptsStr = sysHospitalSetFacade.getValue(Long.parseLong(SysUserUtils.getCurrentHospitalID()), "check_order_info");
-            if(StringUtil.isNotEmpty(deptsStr)){
+            if (StringUtil.isNotEmpty(deptsStr)) {
                 checkWorkPageVO.setOrderDepts(Arrays.asList(deptsStr.split(",")));
             }
         }
@@ -381,7 +382,7 @@ public class MedCheckWorkFacade {
         SysUserBaseVO sysUserRoleBaseVO = new SysUserBaseVO();
         sysUserRoleBaseVO.setUserId(userId);
         List<Long> roleIds = sysUserFacade.getUserRoles(sysUserRoleBaseVO).getSelRoles().stream().map(i -> i.getId()).collect(Collectors.toList());
-        if(ListUtil.isEmpty(roleIds)){
+        if (ListUtil.isEmpty(roleIds)) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该用户无角色信息");
         }
         RegionMedoupDTO regionMedoup = new RegionMedoupDTO();
@@ -415,7 +416,7 @@ public class MedCheckWorkFacade {
                 regionMedoup.setLocalMedoupCode(medoupTemps.get(0));
             }
         }
-        if(roleIds.contains(CheckerRoleEnum.DEPT_SUPERVISOR.getKey() * 1l)){
+        if (roleIds.contains(CheckerRoleEnum.DEPT_SUPERVISOR.getKey() * 1l)) {
             regionMedoup.setShowAllFlag(true);
         }
         return regionMedoup;

+ 171 - 22
src/main/java/com/diagbot/facade/QcresultInfoFacade.java

@@ -2,38 +2,25 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.diagbot.dto.AlgorithmDTO;
-import com.diagbot.dto.AnalyzeDTO;
-import com.diagbot.dto.QcResultDTO;
-import com.diagbot.entity.BehospitalInfo;
-import com.diagbot.entity.MedCheckInfo;
-import com.diagbot.entity.MedQcresultCases;
-import com.diagbot.entity.QcresultDetail;
-import com.diagbot.entity.QcresultInfo;
+import com.diagbot.dto.*;
+import com.diagbot.entity.*;
 import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.ModeIdEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.MedQcresultCasesServiceImpl;
+import com.diagbot.service.impl.QcRuleWarnServiceImpl;
 import com.diagbot.service.impl.QcresultDetailServiceImpl;
 import com.diagbot.service.impl.QcresultInfoServiceImpl;
-import com.diagbot.util.BeanUtil;
-import com.diagbot.util.DateUtil;
-import com.diagbot.util.ListUtil;
-import com.diagbot.util.StringUtil;
-import com.diagbot.util.SysUserUtils;
-import com.diagbot.vo.AlgorithmVO;
-import com.diagbot.vo.AnalyzeVO;
-import com.diagbot.vo.GetDetailVO;
-import com.diagbot.vo.MedQcresultCasesVO;
-import com.diagbot.vo.QcResultAlgVO;
-import com.diagbot.vo.QcresultVO;
+import com.diagbot.util.*;
+import com.diagbot.vo.*;
+import net.sf.jsqlparser.expression.LongValue;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.math.BigDecimal;
+import java.util.*;
 
 /**
  * @Description:
@@ -46,15 +33,175 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
     @Qualifier("qcresultDetailServiceImpl")
     private QcresultDetailServiceImpl qcresultDetailServiceImpl;
     @Autowired
+    @Qualifier("qcRuleWarnServiceImpl")
+    private QcRuleWarnServiceImpl qcRuleWarnServiceImpl;
+    @Autowired
     private AlgorithmFacade algorithmFacade;
     @Autowired
     private BehospitalInfoFacade behospitalInfoFacade;
     @Autowired
+    private ReadProperties readProperties;
+    @Autowired
+    private QcCasesEntryFacade qcCasesEntryFacade;
+    @Autowired
     private MedCheckInfoFacade medCheckInfoFacade;
     @Autowired
     @Qualifier("medQcresultCasesServiceImpl")
     private MedQcresultCasesServiceImpl medQcresultCasesService;
 
+    private TZDBConn tzDBConn = new TZDBConn();
+
+
+    /**
+     * 发送规则信息到医生工作站
+     *
+     * @param qcRuleWarnVO
+     * @return Boolean
+     */
+    public Boolean sendRuleWarn(QcRuleWarnVO qcRuleWarnVO) {
+        //入参验证
+        if (StringUtil.isBlank(qcRuleWarnVO.getBehospitalCode())) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "病历id不能为空!");
+        }
+        if (null == qcRuleWarnVO.getMsg()) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "操作条目不能为空!");
+        }
+        Long hospitalId = Long.valueOf(SysUserUtils.getCurrentHospitalID());
+        Date now = DateUtil.now();
+        BehospitalInfo behospitalInfo
+                = behospitalInfoFacade.getOne(
+                new QueryWrapper<BehospitalInfo>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("hospital_id", hospitalId)
+                        .eq("behospital_code", qcRuleWarnVO.getBehospitalCode()));
+        if (null == behospitalInfo) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该医院下该病历号不存在!");
+        }
+        String doctorId = behospitalInfo.getDoctorId();
+        if (StringUtil.isBlank(doctorId) || doctorId.equals("-")) {
+            doctorId = "0";
+        }
+        int userId = Integer.parseInt(doctorId);
+        QcresultDetail qcresultDetail
+                = qcresultDetailServiceImpl.getOne(
+                new QueryWrapper<QcresultDetail>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("hospital_id", hospitalId)
+                        .eq("behospital_code", qcRuleWarnVO.getBehospitalCode())
+                        .eq("msg", qcRuleWarnVO.getMsg()));
+        if (null == qcresultDetail) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "未找到该规则!");
+        }
+
+        QcCasesEntry qcCasesEntry = qcCasesEntryFacade.getOne(new QueryWrapper<QcCasesEntry>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", qcresultDetail.getCasesEntryId()));
+
+        //规则提醒页面模式
+        String url = readProperties.getRuleWarnQcUrl() + "?behospitalCode=" + qcRuleWarnVO.getBehospitalCode();
+        QcRuleWarn qcRuleWarn = new QcRuleWarn();
+        qcRuleWarn.setHospitalId(qcresultDetail.getHospitalId());
+        qcRuleWarn.setQcresultInfoId(qcresultDetail.getQcresultInfoId());
+        qcRuleWarn.setBehospitalCode(qcresultDetail.getBehospitalCode());
+        qcRuleWarn.setFileCode(behospitalInfo.getFileCode());
+        qcRuleWarn.setName(behospitalInfo.getName());
+        qcRuleWarn.setUserId(userId);
+        qcRuleWarn.setWardName(behospitalInfo.getWardName());//病区
+        qcRuleWarn.setDeptName(behospitalInfo.getBehDeptName());//科室
+        qcRuleWarn.setDoctorName(behospitalInfo.getDoctorName());//主治医生
+        qcRuleWarn.setBehospitalDate(behospitalInfo.getBehospitalDate());//入院时间
+        qcRuleWarn.setLeaveHospitalDate(behospitalInfo.getLeaveHospitalDate());//出院时间
+        qcRuleWarn.setCasesId(qcresultDetail.getCasesId());
+        qcRuleWarn.setModelName(ModeIdEnum.getName((qcCasesEntry.getModeId()).intValue()));
+        qcRuleWarn.setCasesScore(qcresultDetail.getCasesScore());
+        qcRuleWarn.setCasesEntryId(qcresultDetail.getCasesEntryId());
+        qcRuleWarn.setScore(qcresultDetail.getScore());
+        qcRuleWarn.setMsg(qcresultDetail.getMsg());
+        qcRuleWarn.setInfo(qcresultDetail.getInfo());
+        qcRuleWarn.setUrl(url);
+        qcRuleWarn.setIsReject(qcresultDetail.getIsReject());
+        qcRuleWarn.setIsDeleted(IsDeleteEnum.N.getKey());
+        qcRuleWarn.setGmtCreate(now);
+        qcRuleWarn.setCreator(userId + "");
+        boolean flag = qcRuleWarnServiceImpl.save(qcRuleWarn);
+
+        if (flag) {
+//            qcresultDetailServiceImpl.update(new UpdateWrapper<QcresultDetail>()
+//                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+//                    .eq("hospital_id", hospitalId)
+//                    .eq("behospital_code", qcRuleWarnVO.getBehospitalCode())
+//                    .eq("cases_entry_id", qcresultDetail.getCasesEntryId())
+//                    .set("grade_type", 2)
+//                    .set("opt_type", 2)
+//                    .set("is_deleted", IsDeleteEnum.Y.getKey())
+//                    .set("modifier", userId.toString())
+//                    .set("gmt_modified", now));
+            String sql = "INSERT INTO JKCDSS.JKCDSS_RULE_WARN (ID, USER_ID, BEHOSPITAL_CODE, STATE, URL, GMT_CREATE, GMT_MODIFIED, CREATOR, MODIFIER, REMARK) " +
+                    "VALUES (" + new Date().getTime() + ", " + userId + ", '" + qcRuleWarnVO.getBehospitalCode() + "', 0, '" + url + "', SYSDATE, SYSDATE, 'LT', 'LT', NULL)";
+            System.out.println("插入sql语句为--------------------------:" + sql);
+            tzDBConn.setRule(sql);
+        }
+
+        return flag;
+    }
+
+    /**
+     * 医生工作站查看规则条目
+     *
+     * @param behospitalCodeVO
+     * @return QcRuleWarnDTO
+     */
+    public QcRuleWarnDTO checkRule(RecordContentVO behospitalCodeVO) {
+        QcRuleWarnDTO qcRuleWarnDTO = new QcRuleWarnDTO();
+        // 获取规则条目信息
+        List<QcRuleWarn> qcRuleWarns
+                = qcRuleWarnServiceImpl.list(
+                new QueryWrapper<QcRuleWarn>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("hospital_id", "14")
+                        .eq("behospital_code", behospitalCodeVO.getBehospitalCode()));
+        if (qcRuleWarns.size() == 0) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "病历不存在错误信息!");
+        }
+        qcRuleWarnDTO.setFileCode(qcRuleWarns.get(0).getFileCode());
+        qcRuleWarnDTO.setName(qcRuleWarns.get(0).getName());
+        qcRuleWarnDTO.setWardName(qcRuleWarns.get(0).getWardName());//病区
+        qcRuleWarnDTO.setDeptName(qcRuleWarns.get(0).getDeptName());//科室
+        qcRuleWarnDTO.setDoctorName(qcRuleWarns.get(0).getDoctorName());//主治医生
+        qcRuleWarnDTO.setSendDate(qcRuleWarns.get(0).getGmtCreate());//发送时间
+        qcRuleWarnDTO.setBehospitalDate(qcRuleWarns.get(0).getBehospitalDate());//入院时间
+        qcRuleWarnDTO.setLeaveHospitalDate(qcRuleWarns.get(0).getLeaveHospitalDate());//出院时间
+        BigDecimal dBigDecimal = new BigDecimal(0);//扣分
+        BigDecimal resPr = new BigDecimal(100);
+        String level = null;
+        List<RuleMsgDTO> msgDTOList = new ArrayList<>();
+        for (QcRuleWarn qcRuleWarn : qcRuleWarns) {
+            dBigDecimal = dBigDecimal.add(qcRuleWarn.getScore());
+            RuleMsgDTO msgDTO = new RuleMsgDTO();
+            msgDTO.setModelName(qcRuleWarn.getModelName());
+            msgDTO.setMsg(qcRuleWarn.getMsg());
+            msgDTO.setInfo(qcRuleWarn.getInfo());
+            msgDTO.setScore(qcRuleWarn.getScore());
+            msgDTOList.add(msgDTO);
+        }
+        if (dBigDecimal.compareTo(new BigDecimal(10)) < 1) {
+            level = "甲";
+        } else if (dBigDecimal.compareTo(new BigDecimal(20)) < 1) {
+            level = "乙";
+        } else {
+            level = "丙";
+        }
+        qcRuleWarnDTO.setScoreRes(resPr.subtract(dBigDecimal));// 得分
+        qcRuleWarnDTO.setLevel(level);// 等级
+        qcRuleWarnDTO.setNum(Long.valueOf(qcRuleWarns.size()));// 缺陷总数
+        qcRuleWarnDTO.setNumScore(dBigDecimal);// 缺陷总扣分
+        qcRuleWarnDTO.setMsgDTOList(msgDTOList);
+
+        return qcRuleWarnDTO;
+
+    }
+
+
     /**
      * 修改评分结果信息
      *
@@ -426,3 +573,5 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
         return res;
     }
 }
+
+

+ 2 - 2
src/main/java/com/diagbot/facade/RecordCheckFacade.java

@@ -143,8 +143,8 @@ public class RecordCheckFacade {
         checkedRecordListVO.setHospitalId(hospitalId);
 
         //通过主治医生去查,病区、科室、医疗组不作为筛选条件
-        checkedRecordListVO.setDepts(null);
-        checkedRecordListVO.setWards(null);
+//        checkedRecordListVO.setDepts(null);
+//        checkedRecordListVO.setWards(null);
 //        checkedRecordListVO.setMedoups(null);
         IPage<CheckedRecordListDTO> iPage = medCheckInfoFacade.getBaseMapper().checkedRecordList(checkedRecordListVO);
 

+ 61 - 21
src/main/java/com/diagbot/facade/SysUserFacade.java

@@ -34,11 +34,7 @@ import com.diagbot.util.ListUtil;
 import com.diagbot.util.RedisUtils;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.SysUserUtils;
-import com.diagbot.vo.BasDeptInfoVO;
-import com.diagbot.vo.SysUserBaseVO;
-import com.diagbot.vo.SysUserDeptVO;
-import com.diagbot.vo.SysUserQueryVO;
-import com.diagbot.vo.SysUserRoleVO;
+import com.diagbot.vo.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.security.crypto.factory.PasswordEncoderFactories;
@@ -148,32 +144,76 @@ public class SysUserFacade extends SysUserServiceImpl {
     /**
      * 获取jwt
      *
-     * @param username 用户名
-     * @param password 密码
+     * @param userLoginVO
      * @return jwt
      */
-    public JwtDTO getJwt(HttpServletRequest request, String username, String password, String captcha) {
+    public JwtDTO getJwt(HttpServletRequest request, UserLoginVO userLoginVO) {
         JwtDTO data = new JwtDTO();
-        if (StringUtil.isBlank(username)) {
+        //通过杭州七院单点登录
+        if(userLoginVO.getYingYongID() != null && userLoginVO.getYingYongID().trim().length() > 0) {
+            try {
+                QueryWrapper<SysUser> userQueryWrapper = new QueryWrapper<>();
+                userQueryWrapper.eq("username", userLoginVO.getUsername())
+                        .eq("status", StatusEnum.Enable.getKey())
+                        .eq("is_deleted", IsDeleteEnum.N.getKey());
+                SysUser user = this.getOne(userQueryWrapper, false);
+                //判断用户是否存在
+                if (null == user) {
+                    throw new CommonException(ServiceErrorCode.USER_NOT_FOUND);
+                }
+
+                JWT jwt = authServiceClient.getToken("Basic dWFhLXNlcnZpY2U6MTIzNDU2","password", userLoginVO.getUsername(),
+                        DigestUtils.md5DigestAsHex("HZqy@2024".getBytes()));
+                data.setAccessToken(jwt.getAccess_token());
+                data.setRefreshToken(jwt.getRefresh_token());
+                data.setType(user.getType());
+                data.setTypeCn(ConstantEnum.getName(user.getType()));//返回中文
+                //获取用户角色
+                try {
+                    SysUserBaseVO sysUserBaseVO = new SysUserBaseVO();
+                    sysUserBaseVO.setUserId(user.getId());
+                    List<SysRoleDTO> selRoles = getlocalUserRoles(sysUserBaseVO);
+                    if (selRoles != null && !selRoles.isEmpty()) {
+                        data.setSelRoles(selRoles);
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                //token存入redis
+                JwtStore jwtStore = new JwtStore();
+                jwtStore.setAccessToken(jwt.getAccess_token());
+                jwtStore.setRefreshToken(jwt.getRefresh_token());
+                tokenFacade.createToken(jwtStore);
+
+                //每次登录在redis缓存该用户登录成功的token;缓存时间为token有效时间
+                long accessTokenTime = sysDictionaryFacade.getAccessTokenOutTime();
+                redisUtils.set("user:refreshToken:outTime_" + user.getId(), accessTokenTime, accessTokenTime);
+                return data;
+            }catch(Exception e) {
+                e.printStackTrace();
+            }
+        }
+
+        if (StringUtil.isBlank(userLoginVO.getUsername())) {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL,
                     "请输入用户名");
         }
-        if (StringUtil.isBlank(password)) {
+        if (StringUtil.isBlank(userLoginVO.getPassword())) {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL,
                     "请输入密码");
         }
-        if (StringUtils.isEmpty(captcha)) {
-            throw new CommonException(CommonErrorCode.PARAM_IS_NULL,
-                    "请输入验证码");
-        }
+//        if (StringUtils.isEmpty(userLoginVO.getCaptcha())) {
+//            throw new CommonException(CommonErrorCode.PARAM_IS_NULL,
+//                    "请输入验证码");
+//        }
 
         // 验证码校验
-        String captchaId = request.getSession().getId();
-        checkCaptcha(captchaId, captcha, redisUtils);
+//        String captchaId = request.getSession().getId();
+//        checkCaptcha(captchaId, userLoginVO.getCaptcha(), redisUtils);
         //使用MD5对密码进行加密
-        String MD5Password = DigestUtils.md5DigestAsHex(password.getBytes());
+        String MD5Password = DigestUtils.md5DigestAsHex(userLoginVO.getPassword().getBytes());
         QueryWrapper<SysUser> userQueryWrapper = new QueryWrapper<>();
-        userQueryWrapper.eq("username", username)
+        userQueryWrapper.eq("username", userLoginVO.getUsername())
                 .eq("status", StatusEnum.Enable.getKey())
                 .eq("is_deleted", IsDeleteEnum.N.getKey());
         SysUser user = this.getOne(userQueryWrapper, false);
@@ -218,11 +258,11 @@ public class SysUserFacade extends SysUserServiceImpl {
         }
 
         JWT jwt = authServiceClient.getToken("Basic dWFhLXNlcnZpY2U6MTIzNDU2",
-                "password", username, MD5Password);
+                "password", userLoginVO.getUsername(), MD5Password);
         if (null == jwt) {
             throw new CommonException(ServiceErrorCode.GET_TOKEN_FAIL);
         }
-        redisUtils.del("user:captchaIds:" + captchaId);
+//        redisUtils.del("user:captchaIds:" + captchaId);
         data.setAccessToken(jwt.getAccess_token());
         data.setRefreshToken(jwt.getRefresh_token());
         data.setType(user.getType());
@@ -254,7 +294,7 @@ public class SysUserFacade extends SysUserServiceImpl {
         //     String hospitalID = SysUserUtils.getCurrentHospitalID();
 
         String idStr = String.valueOf(hospitalId);
-        Boolean passwordRegular = passwordRegular(password, idStr);
+        Boolean passwordRegular = passwordRegular(userLoginVO.getPassword(), idStr);
         if (!passwordRegular) {
             data.setPasswordComplexity("未修改初始密码,请及时修改密码");
         }

+ 4 - 0
src/main/java/com/diagbot/facade/data/ABehospitalInfoFacade.java

@@ -183,6 +183,10 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
                     return qcTypeId;
                 }
         }
+        if("麻痹性痴呆".equals(s.getDiagnose())){
+            qcTypeId = Long.valueOf(200);
+            return qcTypeId;
+        }
         //判断文书表中是否有入院记录文书
         List<MedicalRecord> medicalRecordList= aMedicalRecordFacade.list(new QueryWrapper<MedicalRecord>()
         .eq("mode_id",1)

+ 4 - 0
src/main/java/com/diagbot/facade/data/AMedicalRecordFacade.java

@@ -448,6 +448,10 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
                     return qcTypeId;
                 }
         }
+        if("麻痹性痴呆".equals(s.getDiagnose())){
+            qcTypeId = Long.valueOf(200);
+            return qcTypeId;
+        }
         //先按照疾病查找对映的质控类型没有再按照科室
         List<QcType> qcTypes =qcTypeFacade.list(new QueryWrapper<QcType>()
                 .eq("name", StringUtils.isNotEmpty(s.getDiagnose())?s.getDiagnose():"")

+ 15 - 0
src/main/java/com/diagbot/mapper/QcRuleWarnMapper.java

@@ -0,0 +1,15 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.entity.QcRuleWarn;
+/**
+ * <p>
+ *  质控规则提醒 Mapper 接口
+ * </p>
+ *
+ * @author dsYun
+ * @since 2024-03-02
+ */
+public interface QcRuleWarnMapper extends BaseMapper<QcRuleWarn> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.entity.QcRuleWarn;
+
+/**
+ * <p>
+ * 质控规则提醒标准 服务类
+ * </p>
+ *
+ * @author dsYun
+ * @since 2024-03-02
+ */
+public interface QcRuleWarnService extends IService<QcRuleWarn> {
+
+}

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

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.entity.QcRuleWarn;
+import com.diagbot.mapper.QcRuleWarnMapper;
+import com.diagbot.service.QcRuleWarnService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 质控规则提醒  服务实现类
+ * </p>
+ *
+ * @author dsYun
+ * @since 2024-03-02
+ */
+@Service
+public class QcRuleWarnServiceImpl extends ServiceImpl<QcRuleWarnMapper, QcRuleWarn> implements QcRuleWarnService {
+
+}

+ 5 - 0
src/main/java/com/diagbot/util/ReadProperties.java

@@ -29,6 +29,9 @@ public class ReadProperties {
 	@Value(value="${process.qc.url}")
 	public String processQcUrl;
 
+	@Value(value="${rule.warn.qc.url}")
+	public String ruleWarnQcUrl;
+
 	public String getRemoteAddressVer() {
 		return remoteAddressVer;
 	}
@@ -64,5 +67,7 @@ public class ReadProperties {
 	}
 	
 	public String getProcessQcUrl(){return processQcUrl;}
+
+	public String getRuleWarnQcUrl(){return ruleWarnQcUrl;}
 	
 }

Файловите разлики са ограничени, защото са твърде много
+ 663 - 616
src/main/java/com/diagbot/util/TZDBConn.java


+ 37 - 0
src/main/java/com/diagbot/vo/QcRuleWarnAlgVO.java

@@ -0,0 +1,37 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * @Description:
+ * @author: dsYun
+ * @time: 2024/3/1 10:01
+ */
+@Getter
+@Setter
+public class QcRuleWarnAlgVO {
+    //结果明细ID
+    private Long id;
+    //评分结果id
+    private Long qcresultInfoId;
+    //模块ID
+    private Long casesId;
+    //模块名称
+    private String casesName;
+    //模块分数
+    private BigDecimal casesScore;
+    //所属条目ID
+    private Long casesEntryId;
+    //条目分值
+    private BigDecimal score;
+    //条目提示信息
+    private String msg;
+    //质控返回info
+    private String info;
+    //单项否决(1-单项否决 0-非)
+    private Integer isReject;
+}

+ 25 - 0
src/main/java/com/diagbot/vo/QcRuleWarnVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: dsYun
+ * @time: 2024/2/29 14:27
+ */
+@Getter
+@Setter
+public class QcRuleWarnVO {
+    //病历id
+    private String behospitalCode;
+    //医院ID
+    @ApiModelProperty(hidden = true)
+    private Long hospitalId;
+    //姓名
+    @ApiModelProperty(hidden = true)
+    private String name;
+    //规则名称
+    private String msg;
+}

+ 2 - 0
src/main/java/com/diagbot/vo/UserLoginVO.java

@@ -20,4 +20,6 @@ public class UserLoginVO {
     private String password;
    //验证码
     private String captcha;
+
+    private String YingYongID;
 }

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

@@ -125,6 +125,23 @@ public class BehospitalInfoController {
         return RespDTO.onSuc(behospitalInfoFacade.analyzeApi(analyzeRunVO));
     }
 
+    @ApiOperation(value = "发送质控条目到医生工作站[by:dsYun]",
+            notes = "")
+    @PostMapping("/sendRuleWarn")
+    @SysLogger("sendRuleWarn")
+    @Transactional
+    public RespDTO<Boolean> sendRuleWarn(@RequestBody QcRuleWarnVO qcRuleWarnVO) {
+        return RespDTO.onSuc(qcresultInfoFacade.sendRuleWarn(qcRuleWarnVO));
+    }
+
+    @ApiOperation(value = "医生工作站查看规则条目[by:dsYun]",
+            notes = "")
+    @PostMapping("/checkRule")
+    @SysLogger("checkRule")
+    @Transactional
+    public RespDTO<QcRuleWarnDTO> checkRule(@RequestBody RecordContentVO behospitalCodeVO) {
+        return RespDTO.onSuc(qcresultInfoFacade.checkRule(behospitalCodeVO));
+    }
 
     @ApiOperation(value = "新增质控条目[by:zhoutg]",
             notes = "")

+ 1 - 1
src/main/java/com/diagbot/web/SysUserController.java

@@ -72,7 +72,7 @@ public class SysUserController {
     @PostMapping("/getJwt")
     @SysLogger("getJwt")
     public RespDTO<JwtDTO> getJwt(HttpServletRequest request,@RequestBody UserLoginVO userLoginVO) {
-        JwtDTO data = userFacade.getJwt(request,userLoginVO.getUsername(), userLoginVO.getPassword(),userLoginVO.getCaptcha());
+        JwtDTO data = userFacade.getJwt(request,userLoginVO);
         return RespDTO.onSuc(data);
     }
     @ApiOperation(value = "登出[by:gaodm]",

+ 7 - 7
src/main/resources/application-pre.yml

@@ -1,5 +1,5 @@
 server:
-  port: 5859
+  port: 5858
   max-http-header-size: 10MB
 
 hystrix:
@@ -59,9 +59,9 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.126:3307/qc_qiyuan?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      url: jdbc:mysql://192.168.2.31:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
       username: root
-      password: Lat0ne@tesT
+      password: dsYun8!@#
       # 连接池的配置信息
       # 初始化大小,最小,最大
       initialSize: 5
@@ -109,11 +109,11 @@ spring:
   #redis
   redis:
     database:
-      cache: 5 # cache索引
-      token: 5 # Token索引
-    host: 192.168.2.125  #Redis服务器地址
+      cache: 8 # cache索引
+      token: 8 # Token索引
+    host: 192.168.2.31  #Redis服务器地址
     port: 6379 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
-    password: lantone # Redis服务器连接密码(默认为空)
+    password: # Redis服务器连接密码(默认为空)
     lettuce:
       pool:
         max-active: 8 # 连接池最大连接数(使用负值表示没有限制)

+ 2 - 0
src/main/resources/jdbc.properties

@@ -20,5 +20,7 @@ remote.address.hor=http://192.16.1.104:2030/indexHorizontal.html
 
 process.qc.url=http://192.16.1.104:1489/index.html
 
+rule.warn.qc.url=http://192.16.1.104:1489/indexRuleWarn.html
+
 #his\u65b9\u60a3\u8005\u63a5\u53e3\u5730\u5740
 his.patient.url=

+ 1 - 1
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -11965,7 +11965,7 @@
         )be
         left join med_check_info mci
         on mci.is_deleted = 'N'
-        and mci.check_type = 0
+        and mci.check_type in (0,2)
         and be.hospital_id = mci.hospital_id
         and be.behospital_code = mci.behospital_code
         left join med_check_info hm_mci

+ 1 - 1
src/test/java/com/diagbot/MrqcSysApplicationTests.java

@@ -5,7 +5,7 @@ import org.junit.runner.RunWith;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 
-@RunWith(SpringRunner.class)
+//@RunWith(SpringRunner.class)
 @SpringBootTest
 public class MrqcSysApplicationTests {