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

Merge branch 'dev/20200618_1.3.6' into debug

gaodm преди 5 години
родител
ревизия
4105593f19

+ 4 - 0
doc/010.20200617v1.3.5/qc_initv1.3.5.sql

@@ -28,3 +28,7 @@ INSERT INTO `sys_menu_permission`(`id`, `is_deleted`, `gmt_create`, `gmt_modifie
 
 
 ALTER TABLE `med_behospital_info` ADD INDEX `idx_beh_dept_id` (`beh_dept_id`) USING BTREE;
+
+-- 所有环境、技术服务部已经同步
+-- DROP INDEX advice_behospital_code_unique ON med_doctor_advice;
+-- ALTER TABLE med_doctor_advice ADD UNIQUE KEY `advice_behospital_code_unique` (`doctor_advice_id`,`hospital_id`,`behospital_code`) USING BTREE;

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

@@ -119,6 +119,19 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/console/export/levelExport").permitAll()
                 .antMatchers("/console/entryStatistics").permitAll()
                 .antMatchers("/console/export/levelExport_TZ").permitAll()
+                .antMatchers("/qc/data/sendDoctorInfos").permitAll()
+                .antMatchers("/qc/data/sendDeptInfos").permitAll()
+                .antMatchers("/qc/data/sendRecordTypes").permitAll()
+                .antMatchers("/qc/data/sendMrRecordIng").permitAll()
+                .antMatchers("/qc/data/sendMrContent").permitAll()
+                .antMatchers("/qc/data/sendMrRecord").permitAll()
+                .antMatchers("/qc/data/sendPatientInfo").permitAll()
+                .antMatchers("/qc/data/sendDoctorAdvice").permitAll()
+                .antMatchers("/qc/data/sendHomePageIng").permitAll()
+                .antMatchers("/qc/data/sendHomePage").permitAll()
+                .antMatchers("/qc/data/sendHomeDiagnose").permitAll()
+                .antMatchers("/qc/data/sendHomeOperation").permitAll()
+                .antMatchers("/qc/data/sendCrisis").permitAll()
                 .antMatchers("/**").authenticated();
         //                .antMatchers("/**").permitAll();
     }

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

@@ -163,6 +163,19 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/console/export/levelExport", request)
                 || matchers("/console/entryStatistics", request)
                 || matchers("/console/export/levelExport_TZ", request)
+                || matchers("/qc/data/sendDoctorInfos", request)
+                || matchers("/qc/data/sendDeptInfos", request)
+                || matchers("/qc/data/sendRecordTypes", request)
+                || matchers("/qc/data/sendMrRecordIng", request)
+                || matchers("/qc/data/sendMrContent", request)
+                || matchers("/qc/data/sendMrRecord", request)
+                || matchers("/qc/data/sendPatientInfo", request)
+                || matchers("/qc/data/sendDoctorAdvice", request)
+                || matchers("/qc/data/sendHomePageIng", request)
+                || matchers("/qc/data/sendHomePage", request)
+                || matchers("/qc/data/sendHomeDiagnose", request)
+                || matchers("/qc/data/sendHomeOperation", request)
+                || matchers("/qc/data/sendCrisis", request)
                 || matchers("/", request)) {
             return true;
         }

+ 32 - 2
src/main/java/com/diagbot/dto/data/ABehospitalInfoDTO.java

@@ -100,12 +100,42 @@ public class ABehospitalInfoDTO{
     private String diagnose;
 
     /**
-     * 医生ID
+     * 住院医生ID
+     */
+    private String behDoctorId;
+
+    /**
+     * 住院医生姓名
+     */
+    private String behDoctorName;
+
+    /**
+     * 主治医生ID
      */
     private String doctorId;
 
     /**
-     * 医生姓名
+     * 主治医生姓名
      */
     private String doctorName;
+
+    /**
+     * 主任医生ID
+     */
+    private String directorDoctorId;
+
+    /**
+     * 主任医生姓名
+     */
+    private String directorDoctorName;
+
+    /**
+     * 是否归档(0:未归档,1:已归档)
+     */
+    private String isPlacefile;
+
+    /**
+     * 归档时间
+     */
+    private String placefileDate;
 }

+ 12 - 2
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -358,7 +358,12 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         //  调用质控接口
         Response<OutputInfo> response = qcServiceClient.extract(queryVo);
         if (response == null || response.getData() == null) {
-            throw new CommonException(CommonErrorCode.RPC_ERROR, "远程质控接口没有返回数据!【" + analyzeVO.getBehospitalCode() + "】");
+            if (null == response) {
+                throw new CommonException(CommonErrorCode.RPC_ERROR, "远程质控接口没有返回数据!【" + analyzeVO.getBehospitalCode() + "】");
+            } else {
+                throw new CommonException(CommonErrorCode.RPC_ERROR,
+                        "远程质控接口没有返回数据!【" + analyzeVO.getBehospitalCode() + "】错误原因:" + response.getMsg());
+            }
         }
         OutputInfo outputInfo = response.getData();
         //根据质控结果获取质控条目
@@ -855,7 +860,12 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         //  调用质控接口
         Response<OutputInfo> response = qcServiceClient.extract(queryVo);
         if (response == null || response.getData() == null) {
-            throw new CommonException(CommonErrorCode.RPC_ERROR, "远程质控接口没有返回数据!");
+            if (null == response) {
+                throw new CommonException(CommonErrorCode.RPC_ERROR, "远程质控接口没有返回数据!【" + analyzeVO.getBehospitalCode() + "】");
+            } else {
+                throw new CommonException(CommonErrorCode.RPC_ERROR,
+                        "远程质控接口没有返回数据!【" + analyzeVO.getBehospitalCode() + "】错误原因:" + response.getMsg());
+            }
         }
         OutputInfo outputInfo = response.getData();
         //根据质控结果获取质控条目

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ABehospitalInfoDTO;
 import com.diagbot.entity.*;
+import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.facade.QcAbnormalFacade;
 import com.diagbot.facade.QcTypeFacade;
 import com.diagbot.service.impl.BehospitalInfoServiceImpl;
@@ -79,6 +80,9 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
                 if(StringUtil.isNotBlank(s.getBehospitalDate())){
                     behospitalInfo.setBehospitalDate(DateUtil.parseDateTime(s.getBehospitalDate()));
                 }
+                if(StringUtil.isNotBlank(s.getPlacefileDate())){
+                    behospitalInfo.setPlacefileDate(DateUtil.parseDateTime(s.getPlacefileDate()));
+                }
                 behospitalInfoList.add(behospitalInfo);
 
             });
@@ -108,8 +112,9 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
         List<BehospitalInfo> updateE = Lists.newLinkedList();
         behospitalInfoList.stream().forEach(s -> {
             BehospitalInfo behospitalInfo = this.getOne(new QueryWrapper<BehospitalInfo>()
-            .eq("behospital_code", s.getBehospitalCode())
-            .eq("hospital_id", s.getHospitalId()));
+                    .eq("behospital_code", s.getBehospitalCode())
+                    .eq("hospital_id", s.getHospitalId())
+                    .eq("is_deleted",IsDeleteEnum.N));
             if (behospitalInfo != null) {
                 s.setGmtModified(new Date());
                 s.setQcTypeId(initQcTypeId(s));
@@ -139,11 +144,13 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
         MedicalRecord medicalRecord = aMedicalRecordFacade.getOne(new QueryWrapper<MedicalRecord>()
                 .eq("behospital_code", s.getBehospitalCode())
                 .eq("hospital_id", s.getHospitalId())
-                .eq("mode_id", Long.valueOf("1")));
+                .eq("mode_id", Long.valueOf("1"))
+                .eq("is_deleted",IsDeleteEnum.N));
         if(medicalRecord!=null){
             QcType qcType=qcTypeFacade.getOne(new QueryWrapper<QcType>()
                     .eq("name",medicalRecord.getRecTitle())
-                    .eq("hospital_id", s.getHospitalId()));
+                    .eq("hospital_id", s.getHospitalId())
+                    .eq("is_deleted",IsDeleteEnum.N));
             if(qcType!=null){
                 qcTypeId=qcType.getId();
             }else{

+ 6 - 1
src/main/java/com/diagbot/facade/data/AHomePageFacade.java

@@ -160,7 +160,12 @@ public class AHomePageFacade extends HomePageServiceImpl{
         String behospitalCode =aHomePageIngVO.getHomePages().get(0).getBehospitalCode();
         Long hospitalId=aHomePageIngVO.getHomePages().get(0).getHospitalId();
         Long modeId=Long.valueOf("6");//病案首页默认为6
-        if(aHomePageIngVO.getDockModeType().equals("1")){
+        if(aHomePageIngVO.getDockModeType().equals("0")){
+            Map<String,Object> map=new HashMap<String,Object>();
+            List<AHomePageDTO> homePageDtoList=BeanUtil.listCopyTo(aHomePageIngVO.getHomePages(),AHomePageDTO.class);
+            map.put("homePages",homePageDtoList);
+            return RespDTO.onSuc(map);
+        }else if(aHomePageIngVO.getDockModeType().equals("1")){
             //页面模式
             String url=readProperties.getProcessQcUrl()+"?behospitalCode="+behospitalCode+"&hospitalId="+hospitalId+"&modeId="+modeId;
             Map<String,Object> map=new HashMap<String,Object>();

+ 3 - 1
src/main/java/com/diagbot/facade/data/AMedRecordTypeFacade.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.AMedicalRecordTypeDTO;
 import com.diagbot.entity.MedRecordType;
+import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.MedRecordTypeServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.TZDBConn;
@@ -69,7 +70,8 @@ public class AMedRecordTypeFacade extends MedRecordTypeServiceImpl {
             medRecordTypeList.stream().forEach(s -> {
                 MedRecordType mrType = this.getOne(new QueryWrapper<MedRecordType>()
                         .eq("type_id", s.getTypeId())
-                        .eq("hospital_id", s.getHospitalId()));
+                        .eq("hospital_id", s.getHospitalId())
+                        .eq("is_deleted",IsDeleteEnum.N));
                 if (mrType != null) {
                     s.setGmtModified(new Date());
                     updateE.add(s);

+ 9 - 2
src/main/java/com/diagbot/facade/data/AMedicalRecordFacade.java

@@ -6,6 +6,7 @@ import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.AMedicalRecordDTO;
 import com.diagbot.dto.data.AMrContentDTO;
 import com.diagbot.entity.*;
+import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.facade.BehospitalInfoFacade;
 import com.diagbot.facade.ModelHospitalFacade;
 import com.diagbot.facade.QcTypeFacade;
@@ -152,7 +153,12 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
         MedicalRecord medicalRecord=new MedicalRecord();
         BeanUtil.copyProperties(aMrContentVO.getRecords().get(0),medicalRecord);
         Long modeId=initModeId(medicalRecord);
-        if(aMrContentVO.getDockModeType().equals("1")){
+        if(aMrContentVO.getDockModeType().equals("0")){
+            Map<String,Object> map=new HashMap<String,Object>();
+            List<AMedicalRecordDTO> medicalRecordDTOList = BeanUtil.listCopyTo(aMrContentVO.getRecords(), AMedicalRecordDTO.class);
+            map.put("records",medicalRecordDTOList);
+            return RespDTO.onSuc(map);
+        }else if(aMrContentVO.getDockModeType().equals("1")){
             if(modeId==0 || modeId==null){
                 return RespDTO.onError("无对应的文书类型");
             }
@@ -222,7 +228,8 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
                         Long qcTypeId=Long.valueOf("0");
                         QcType qcType=qcTypeFacade.getOne(new QueryWrapper<QcType>()
                                 .eq("name",s.getRecTitle())
-                                .eq("hospital_id", s.getHospitalId()));
+                                .eq("hospital_id", s.getHospitalId())
+                                .eq("is_deleted",IsDeleteEnum.N));
                         if(qcType!=null){
                             behospitalInfo.setQcTypeId(qcType.getId());
                         }else{

+ 10 - 2
src/main/java/com/diagbot/vo/data/ABehospitalInfoVO.java

@@ -2,8 +2,6 @@ package com.diagbot.vo.data;
 
 import lombok.Data;
 
-import java.util.Date;
-
 @Data
 public class ABehospitalInfoVO {
     /**
@@ -131,4 +129,14 @@ public class ABehospitalInfoVO {
      */
     private String directorDoctorName;
 
+    /**
+     * 是否归档(0:未归档,1:已归档)
+     */
+    private String isPlacefile;
+
+    /**
+     * 归档时间
+     */
+    private String placefileDate;
+
 }

+ 10 - 4
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -2793,10 +2793,10 @@
         <if test="qcResultShortPageVO.casesEntryId != null and qcResultShortPageVO.casesEntryId != ''">
             AND d.id = #{qcResultShortPageVO.casesEntryId}
         </if>
-        <if test="qcResultShortPageVO.isReject != null and qcResultShortPageVO.isReject != ''">
+        <if test="qcResultShortPageVO.isReject != null">
             AND c.is_reject = #{qcResultShortPageVO.isReject}
         </if>
-        <if test="qcResultShortPageVO.ruleType != null and qcResultShortPageVO.ruleType != ''">
+        <if test="qcResultShortPageVO.ruleType != null">
             AND d.rule_type = #{qcResultShortPageVO.ruleType}
         </if>
         ) t1
@@ -2887,10 +2887,10 @@
         <if test="qcResultShortPageVO.casesEntryId != null and qcResultShortPageVO.casesEntryId != ''">
             AND d.id = #{qcResultShortPageVO.casesEntryId}
         </if>
-        <if test="qcResultShortPageVO.isReject != null and qcResultShortPageVO.isReject != ''">
+        <if test="qcResultShortPageVO.isReject != null">
             AND c.is_reject = #{qcResultShortPageVO.isReject}
         </if>
-        <if test="qcResultShortPageVO.ruleType != null and qcResultShortPageVO.ruleType != ''">
+        <if test="qcResultShortPageVO.ruleType != null">
             AND d.rule_type = #{qcResultShortPageVO.ruleType}
         </if>
         ) t1
@@ -2972,6 +2972,12 @@
                 <if test="item.directorDoctorName != null">
                     director_doctor_name = #{item.directorDoctorName},
                 </if>
+                <if test="item.placefileDate != null">
+                    placefile_date = #{item.placefileDate},
+                </if>
+                <if test="item.isPlacefile != null">
+                    is_placefile = #{item.isPlacefile},
+                </if>
                 <if test="item.gmtModified != null">
                     gmt_modified = #{item.gmtModified},
                 </if>

+ 4 - 20
src/main/resources/mapper/QcresultInfoMapper.xml

@@ -1014,17 +1014,14 @@
             med_qcresult_info c,
         </if>
         med_qcresult_detail d,
-        qc_cases_entry e,
-        qc_cases_entry_hospital f
+        qc_cases_entry e
         WHERE
         a.is_deleted = 'N'
         AND c.is_deleted = 'N'
         AND d.is_deleted = 'N'
         and e.is_deleted='N'
-        and f.is_deleted='N'
         AND a.hospital_id = c.hospital_id
         and a.hospital_id = d.hospital_id
-        and a.hospital_id = f.hospital_id
         AND a.behospital_code = c.behospital_code
         AND a.behospital_code = d.behospital_code
         AND a.is_placefile = '1'
@@ -1033,7 +1030,6 @@
         </if>
         AND d.cases_id = e.cases_id
         AND d.cases_entry_id = e.id
-        and e.id = f.cases_entry_id
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="filterPageVO.casesId != null and filterPageVO.casesId != 0">
             AND d.cases_id = #{filterPageVO.casesId}
@@ -1074,17 +1070,14 @@
             med_qcresult_info c,
         </if>
         med_qcresult_detail d,
-        qc_cases_entry e,
-        qc_cases_entry_hospital f
+        qc_cases_entry e
         WHERE
         a.is_deleted = 'N'
         AND c.is_deleted = 'N'
         AND d.is_deleted = 'N'
         and e.is_deleted='N'
-        and f.is_deleted='N'
         AND a.hospital_id = c.hospital_id
         and a.hospital_id = d.hospital_id
-        and a.hospital_id = f.hospital_id
         AND a.behospital_code = c.behospital_code
         AND a.behospital_code = d.behospital_code
         AND a.is_placefile = '1'
@@ -1093,7 +1086,6 @@
         </if>
         AND d.cases_id = e.cases_id
         AND d.cases_entry_id = e.id
-        and e.id = f.cases_entry_id
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="filterPageVO.casesId != null and filterPageVO.casesId != 0">
             AND d.cases_id = #{filterPageVO.casesId}
@@ -1394,19 +1386,16 @@
         </if>
         med_qcresult_detail d,
         qc_cases_entry e,
-        sys_user_dept f,
-        qc_cases_entry_hospital g
+        sys_user_dept f
         WHERE
         a.is_deleted = 'N'
         AND c.is_deleted = 'N'
         AND d.is_deleted = 'N'
         AND e.is_deleted = 'N'
         AND f.is_deleted = 'N'
-        AND g.is_deleted = 'N'
         AND a.hospital_id = c.hospital_id
         AND a.hospital_id = d.hospital_id
         AND a.hospital_id = f.hospital_id
-        AND a.hospital_id = g.hospital_id
         AND a.behospital_code = c.behospital_code
         AND a.behospital_code = d.behospital_code
         AND a.is_placefile = '1'
@@ -1415,7 +1404,6 @@
         </if>
         AND d.cases_id = e.cases_id
         AND d.cases_entry_id = e.id
-        AND g.cases_entry_id = e.id
         AND a.beh_dept_id = f.dept_id
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="filterPageByDeptVO.casesId != null and filterPageByDeptVO.casesId != 0">
@@ -1469,19 +1457,16 @@
         </if>
         med_qcresult_detail d,
         qc_cases_entry e,
-        sys_user_dept f,
-        qc_cases_entry_hospital g
+        sys_user_dept f
         WHERE
         a.is_deleted = 'N'
         AND c.is_deleted = 'N'
         AND d.is_deleted = 'N'
         AND e.is_deleted = 'N'
         AND f.is_deleted = 'N'
-        AND g.is_deleted = 'N'
         AND a.hospital_id = c.hospital_id
         AND a.hospital_id = d.hospital_id
         AND a.hospital_id = f.hospital_id
-        AND a.hospital_id = g.hospital_id
         AND a.behospital_code = c.behospital_code
         AND a.behospital_code = d.behospital_code
         AND a.is_placefile = '1'
@@ -1490,7 +1475,6 @@
         </if>
         AND d.cases_id = e.cases_id
         AND d.cases_entry_id = e.id
-        AND g.cases_entry_id = e.id
         AND a.beh_dept_id = f.dept_id
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="filterPageByDeptVO.casesId != null and filterPageByDeptVO.casesId != 0">