Browse Source

导入数据

zhoutg 5 years ago
parent
commit
d89e8d41b4

+ 7 - 0
doc/006.20200602数据导入/qc_init.sql

@@ -0,0 +1,7 @@
+use `qc`;
+
+INSERT INTO `qc_mode` (`id`, `name`, `order_no`, `parent_id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `remark`) VALUES ('56', '日常病程录', '210', '37', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', NULL);
+
+delete from sys_dictionary_info where group_type = 0 and is_deleted = 'Y';
+INSERT INTO `sys_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('286', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '12', '日常病程录', '56', '1', '286', '所属模块');
+alter table med_medical_record add COLUMN `status` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '模板处理状态(0:未处理,1:已处理)' AFTER `rec_title`;

+ 4 - 0
src/main/java/com/diagbot/client/AuthServiceClient.java

@@ -5,6 +5,7 @@ import com.diagbot.dto.AnalyzeDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.JWT;
 import com.diagbot.vo.AnalyzeVO;
+import com.diagbot.vo.DataImportVO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -32,6 +33,9 @@ public interface AuthServiceClient {
 
     @PostMapping(value = "/qc/behospitalInfo/analyze_rpc")
     RespDTO<AnalyzeDTO> analyze_rpc(@RequestBody AnalyzeVO analyzeVO);
+
+    @PostMapping(value = "/qc/dataimport/import")
+    RespDTO<Boolean> dataimport(@RequestBody DataImportVO dataImportVO);
 }
 
 

+ 7 - 0
src/main/java/com/diagbot/client/hystrix/AuthServiceHystrix.java

@@ -6,6 +6,7 @@ import com.diagbot.dto.AnalyzeDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.JWT;
 import com.diagbot.vo.AnalyzeVO;
+import com.diagbot.vo.DataImportVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.stereotype.Component;
@@ -41,4 +42,10 @@ public class AuthServiceHystrix implements AuthServiceClient {
         log.error("【hystrix】调用{}异常", "analyze_rpc");
         return null;
     }
+
+    @Override
+    public RespDTO<Boolean> dataimport(DataImportVO dataImportVO) {
+        log.error("【hystrix】调用{}异常", "dataimport");
+        return null;
+    }
 }

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

@@ -61,6 +61,8 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/qc/behospitalInfo/page_person").permitAll()
                 .antMatchers("/consoleByDept/getDept").permitAll()
                 .antMatchers("/qc/casesEntryHospital/findQcCasesEntry").permitAll()
+                .antMatchers("/qc/dataimport/import").permitAll()
+                .antMatchers("/qc/dataimport/test").permitAll()
                 .antMatchers("/**").authenticated();
 //                .antMatchers("/**").permitAll();
     }

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

@@ -104,6 +104,8 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/behospitalInfo/page_person", request)
                 || matchers("/consoleByDept/getDept", request)
                 || matchers("/qc/casesEntryHospital/findQcCasesEntry", request)
+                || matchers("/qc/dataimport/import", request)
+                || matchers("/qc/dataimport/test", request)
                 || matchers("/", request)) {
             return true;
         }

+ 308 - 0
src/main/java/com/diagbot/entity/MedCrisisInfo.java

@@ -0,0 +1,308 @@
+package com.diagbot.entity;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 危急值信息
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-06-02
+ */
+public class MedCrisisInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+
+    /**
+     * 记录类型
+     */
+    private String recType;
+
+    /**
+     * 危急值ID
+     */
+    private String crisisId;
+
+    /**
+     * 危急值名称
+     */
+    private String crisisName;
+
+    /**
+     * 开单科室ID
+     */
+    private String deptId;
+
+    /**
+     * 开单科室名称
+     */
+    private String deptName;
+
+    /**
+     * 开单医生ID
+     */
+    private String doctorId;
+
+    /**
+     * 开单医生姓名
+     */
+    private String doctorName;
+
+    /**
+     * 危急结果值
+     */
+    private String crisisValue;
+
+    /**
+     * 危急值描述
+     */
+    private String crisisDesc;
+
+    /**
+     * 危急值状态
+     */
+    private String crisisStatus;
+
+    /**
+     * 参考上限
+     */
+    private String crisisTopValue;
+
+    /**
+     * 参考下限
+     */
+    private String crisisLowerValue;
+
+    /**
+     * 送检时间
+     */
+    private LocalDate sendDate;
+
+    /**
+     * 报告时间
+     */
+    private LocalDate repDate;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    public String getRecId() {
+        return recId;
+    }
+
+    public void setRecId(String recId) {
+        this.recId = recId;
+    }
+    public Long getHospitalId() {
+        return hospitalId;
+    }
+
+    public void setHospitalId(Long hospitalId) {
+        this.hospitalId = hospitalId;
+    }
+    public String getBehospitalCode() {
+        return behospitalCode;
+    }
+
+    public void setBehospitalCode(String behospitalCode) {
+        this.behospitalCode = behospitalCode;
+    }
+    public String getRecType() {
+        return recType;
+    }
+
+    public void setRecType(String recType) {
+        this.recType = recType;
+    }
+    public String getCrisisId() {
+        return crisisId;
+    }
+
+    public void setCrisisId(String crisisId) {
+        this.crisisId = crisisId;
+    }
+    public String getCrisisName() {
+        return crisisName;
+    }
+
+    public void setCrisisName(String crisisName) {
+        this.crisisName = crisisName;
+    }
+    public String getDeptId() {
+        return deptId;
+    }
+
+    public void setDeptId(String deptId) {
+        this.deptId = deptId;
+    }
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+    public String getDoctorId() {
+        return doctorId;
+    }
+
+    public void setDoctorId(String doctorId) {
+        this.doctorId = doctorId;
+    }
+    public String getDoctorName() {
+        return doctorName;
+    }
+
+    public void setDoctorName(String doctorName) {
+        this.doctorName = doctorName;
+    }
+    public String getCrisisValue() {
+        return crisisValue;
+    }
+
+    public void setCrisisValue(String crisisValue) {
+        this.crisisValue = crisisValue;
+    }
+    public String getCrisisDesc() {
+        return crisisDesc;
+    }
+
+    public void setCrisisDesc(String crisisDesc) {
+        this.crisisDesc = crisisDesc;
+    }
+    public String getCrisisStatus() {
+        return crisisStatus;
+    }
+
+    public void setCrisisStatus(String crisisStatus) {
+        this.crisisStatus = crisisStatus;
+    }
+    public String getCrisisTopValue() {
+        return crisisTopValue;
+    }
+
+    public void setCrisisTopValue(String crisisTopValue) {
+        this.crisisTopValue = crisisTopValue;
+    }
+    public String getCrisisLowerValue() {
+        return crisisLowerValue;
+    }
+
+    public void setCrisisLowerValue(String crisisLowerValue) {
+        this.crisisLowerValue = crisisLowerValue;
+    }
+    public LocalDate getSendDate() {
+        return sendDate;
+    }
+
+    public void setSendDate(LocalDate sendDate) {
+        this.sendDate = sendDate;
+    }
+    public LocalDate getRepDate() {
+        return repDate;
+    }
+
+    public void setRepDate(LocalDate repDate) {
+        this.repDate = repDate;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public LocalDateTime getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(LocalDateTime gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public LocalDateTime getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(LocalDateTime gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+
+    @Override
+    public String toString() {
+        return "MedCrisisInfo{" +
+            "recId=" + recId +
+            ", hospitalId=" + hospitalId +
+            ", behospitalCode=" + behospitalCode +
+            ", recType=" + recType +
+            ", crisisId=" + crisisId +
+            ", crisisName=" + crisisName +
+            ", deptId=" + deptId +
+            ", deptName=" + deptName +
+            ", doctorId=" + doctorId +
+            ", doctorName=" + doctorName +
+            ", crisisValue=" + crisisValue +
+            ", crisisDesc=" + crisisDesc +
+            ", crisisStatus=" + crisisStatus +
+            ", crisisTopValue=" + crisisTopValue +
+            ", crisisLowerValue=" + crisisLowerValue +
+            ", sendDate=" + sendDate +
+            ", repDate=" + repDate +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+        "}";
+    }
+}

+ 5 - 0
src/main/java/com/diagbot/entity/MedicalRecord.java

@@ -60,6 +60,11 @@ public class MedicalRecord implements Serializable {
      */
     private String recTitle;
 
+    /**
+     * 模板处理状态(0:未处理,1:已处理)
+     */
+    private Integer status;
+
     /**
      * 是否删除,N:未删除,Y:删除
      */

+ 226 - 0
src/main/java/com/diagbot/facade/DataImportFacade.java

@@ -0,0 +1,226 @@
+package com.diagbot.facade;
+
+import com.diagbot.client.AuthServiceClient;
+import com.diagbot.entity.BehospitalInfo;
+import com.diagbot.entity.HomePage;
+import com.diagbot.entity.MedicalRecordContent;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.BehospitalInfoService;
+import com.diagbot.service.DoctorAdviceService;
+import com.diagbot.service.HomeDiagnoseInfoService;
+import com.diagbot.service.HomeOperationInfoService;
+import com.diagbot.service.HomePageService;
+import com.diagbot.service.MedCrisisInfoService;
+import com.diagbot.service.MedicalRecordContentService;
+import com.diagbot.service.MedicalRecordService;
+import com.diagbot.util.EncrypDES;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.DataImportVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @Author:zhoutg
+ * @time: 2018/11/23 11:37
+ */
+@Component
+public class DataImportFacade {
+
+    @Autowired
+    @Qualifier("behospitalInfoServiceImpl")
+    BehospitalInfoService behospitalInfoService;
+    @Autowired
+    @Qualifier("medCrisisInfoServiceImpl")
+    MedCrisisInfoService medCrisisInfoService;
+    @Autowired
+    @Qualifier("doctorAdviceServiceImpl")
+    DoctorAdviceService doctorAdviceService;
+    @Autowired
+    @Qualifier("homeDiagnoseInfoServiceImpl")
+    HomeDiagnoseInfoService homeDiagnoseInfoService;
+    @Autowired
+    @Qualifier("homePageServiceImpl")
+    HomePageService homePageService;
+    @Autowired
+    @Qualifier("homeOperationInfoServiceImpl")
+    HomeOperationInfoService homeOperationInfoService;
+    @Autowired
+    @Qualifier("medicalRecordServiceImpl")
+    MedicalRecordService medicalRecordService;
+    @Autowired
+    @Qualifier("medicalRecordContentServiceImpl")
+    MedicalRecordContentService medicalRecordContentService;
+    @Autowired
+    AuthServiceClient authServiceClient;
+    @Value("${encrypt.enable}")
+    Boolean encryptFlag;
+
+    /**
+     * 数据导入
+     *
+     * @param dataImportVO
+     * @return
+     */
+    public Boolean dataImportFacade(DataImportVO dataImportVO) {
+        // 病历信息导入
+        if (ListUtil.isNotEmpty(dataImportVO.getBehospitalInfoList())) {
+            // 加密
+            for (BehospitalInfo behospitalInfo : dataImportVO.getBehospitalInfoList()) {
+                // 姓名
+                if (StringUtil.isNotBlank(behospitalInfo.getName())) {
+                    behospitalInfo.setName(behospitalInfo.getName().substring(0, 1) + "**");
+                }
+            }
+            behospitalInfoService.saveOrUpdateBatch(dataImportVO.getBehospitalInfoList());
+        }
+        // 危急值信息
+        if (ListUtil.isNotEmpty(dataImportVO.getMedCrisisInfoList())) {
+            medCrisisInfoService.saveOrUpdateBatch(dataImportVO.getMedCrisisInfoList());
+        }
+        // 病人医嘱
+        if (ListUtil.isNotEmpty(dataImportVO.getDoctorAdviceList())) {
+            doctorAdviceService.saveOrUpdateBatch(dataImportVO.getDoctorAdviceList());
+        }
+        // 病案首页诊断
+        if (ListUtil.isNotEmpty(dataImportVO.getHomeDiagnoseInfoList())) {
+            homeDiagnoseInfoService.saveOrUpdateBatch(dataImportVO.getHomeDiagnoseInfoList());
+        }
+        // 病案首页
+        if (ListUtil.isNotEmpty(dataImportVO.getHomePageList())) {
+            // 加密
+            for (HomePage homePage : dataImportVO.getHomePageList()) {
+                // 姓名
+                if (StringUtil.isNotBlank(homePage.getName())) {
+                    homePage.setName(homePage.getName().substring(0, 1) + "**");
+                }
+                // 身份证
+                if (StringUtil.isNotBlank(homePage.getIdentityCardNo())) {
+                    homePage.setIdentityCardNo(homePage.getIdentityCardNo().substring(0, 1) + "*****************");
+                }
+                // 现住址电话
+                if (StringUtil.isNotBlank(homePage.getCurPhone())) {
+                    homePage.setCurPhone(homePage.getCurPhone().substring(0, 1) + "**");
+                }
+                // 工作单位电话
+                if (StringUtil.isNotBlank(homePage.getWorkPhone())) {
+                    homePage.setWorkPhone(homePage.getWorkPhone().substring(0, 1) + "**");
+                }
+                // 联系人姓名
+                if (StringUtil.isNotBlank(homePage.getContactName())) {
+                    homePage.setContactName(homePage.getContactName().substring(0, 1) + "**");
+                }
+                // 联系人电话
+                if (StringUtil.isNotBlank(homePage.getContactPhone())) {
+                    homePage.setContactPhone(homePage.getContactPhone().substring(0, 1) + "**");
+                }
+            }
+            homePageService.saveOrUpdateBatch(dataImportVO.getHomePageList());
+        }
+        // 病案首页手术信息
+        if (ListUtil.isNotEmpty(dataImportVO.getHomeOperationInfoList())) {
+            homeOperationInfoService.saveOrUpdateBatch(dataImportVO.getHomeOperationInfoList());
+        }
+        // 文书信息
+        if (ListUtil.isNotEmpty(dataImportVO.getMedicalRecordList())) {
+            medicalRecordService.saveOrUpdateBatch(dataImportVO.getMedicalRecordList());
+        }
+        // 文书明细信息
+        if (ListUtil.isNotEmpty(dataImportVO.getMedicalRecordContentList())) {
+            // 加密数据
+            if (encryptFlag) {
+                String recId = "";
+                try {
+                    EncrypDES encrypDES = new EncrypDES();
+                    for (MedicalRecordContent medicalRecordContent : dataImportVO.getMedicalRecordContentList()) {
+                        recId = medicalRecordContent.getRecId();
+                        if (StringUtil.isNotBlank(medicalRecordContent.getXmlText())) {
+                            medicalRecordContent.setXmlText(encrypDES.encrytor(medicalRecordContent.getXmlText()));
+                        }
+                    }
+                } catch (Exception e) {
+                    throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "加密xml错误!recId=【" + recId + "】");
+                }
+            }
+            medicalRecordContentService.saveOrUpdateBatch(dataImportVO.getMedicalRecordContentList(), 100);
+        }
+        return true;
+    }
+
+
+    /**
+     * 模拟测试数据
+     *
+     * @return
+     */
+    public Boolean test() {
+        int size = 100;
+        Long hospitalId = 8L;
+        int random = (int)(Math.random() * 100);
+
+        DataImportVO dataImportVO = new DataImportVO();
+
+        // // 病历信息
+        // List<BehospitalInfo> behospitalInfoList = behospitalInfoService.list(new QueryWrapper<BehospitalInfo>()
+        //         .ne("hospital_id", hospitalId)
+        //         .last(" limit " + size)
+        // );
+        // behospitalInfoList.forEach(r -> { r.setHospitalId(hospitalId); r.setBehospitalCode(r.getBehospitalCode() + random); });
+        // dataImportVO.setBehospitalInfoList(behospitalInfoList);
+        //
+        // // 医嘱信息
+        // List<DoctorAdvice> doctorAdviceList = doctorAdviceService.list(new QueryWrapper<DoctorAdvice>()
+        //         .ne("hospital_id", hospitalId)
+        //         .last(" limit " + size)
+        // );
+        // doctorAdviceList.forEach(r -> {r.setHospitalId(hospitalId); r.setBehospitalCode(r.getBehospitalCode() + random);});
+        // dataImportVO.setDoctorAdviceList(doctorAdviceList);
+        //
+        // // 病案首页诊断
+        // List<HomeDiagnoseInfo> homeDiagnoseInfoList = homeDiagnoseInfoService.list(new QueryWrapper<HomeDiagnoseInfo>()
+        //         .ne("hospital_id", hospitalId)
+        //         .last(" limit " + size)
+        // );
+        // homeDiagnoseInfoList.forEach(r -> {r.setHospitalId(hospitalId); r.setHomePageId(r.getHomePageId() + random);});
+        // dataImportVO.setHomeDiagnoseInfoList(homeDiagnoseInfoList);
+        //
+        // // 病案首页
+        // List<HomePage> homePageList = homePageService.list(new QueryWrapper<HomePage>()
+        //         .ne("hospital_id", hospitalId)
+        //         .last(" limit " + size)
+        // );
+        // homePageList.forEach(r -> {r.setHospitalId(hospitalId); r.setBehospitalCode(r.getBehospitalCode() + random);});
+        // dataImportVO.setHomePageList(homePageList);
+        //
+        // // 病案首页手术信息
+        // List<HomeOperationInfo> homeOperationInfoList = homeOperationInfoService.list(new QueryWrapper<HomeOperationInfo>()
+        //         .ne("hospital_id", hospitalId)
+        //         .last(" limit " + size)
+        // );
+        // homeOperationInfoList.forEach(r -> {r.setHospitalId(hospitalId); r.setHomePageId(r.getHomePageId() + random);});
+        // dataImportVO.setHomeOperationInfoList(homeOperationInfoList);
+        //
+        // // 文书信息
+        // List<MedicalRecord> medicalRecordList = medicalRecordService.list(new QueryWrapper<MedicalRecord>()
+        //         .ne("hospital_id", hospitalId)
+        //         .last(" limit " + size)
+        // );
+        // medicalRecordList.forEach(r -> {r.setHospitalId(hospitalId); r.setBehospitalCode(r.getBehospitalCode() + random);});
+        // dataImportVO.setMedicalRecordList(medicalRecordList);
+
+        // // 文书明细信息
+        // List<MedicalRecordContent> medicalRecordContentList = medicalRecordContentService.list(new QueryWrapper<MedicalRecordContent>()
+        //         .ne("hospital_id", hospitalId)
+        //         .last(" limit " + size)
+        // );
+        // medicalRecordContentList.forEach(r -> {r.setHospitalId(hospitalId); r.setRecId(r.getRecId() + random);});
+        // dataImportVO.setMedicalRecordContentList(medicalRecordContentList);
+
+        authServiceClient.dataimport(dataImportVO);
+        return true;
+    }
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.MedCrisisInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 危急值信息 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-06-02
+ */
+public interface MedCrisisInfoMapper extends BaseMapper<MedCrisisInfo> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.MedCrisisInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 危急值信息 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-06-02
+ */
+public interface MedCrisisInfoService extends IService<MedCrisisInfo> {
+
+}

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

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.MedCrisisInfo;
+import com.diagbot.mapper.MedCrisisInfoMapper;
+import com.diagbot.service.MedCrisisInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 危急值信息 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-06-02
+ */
+@Service
+public class MedCrisisInfoServiceImpl extends ServiceImpl<MedCrisisInfoMapper, MedCrisisInfo> implements MedCrisisInfoService {
+
+}

+ 38 - 0
src/main/java/com/diagbot/vo/DataImportVO.java

@@ -0,0 +1,38 @@
+package com.diagbot.vo;
+
+import com.diagbot.entity.BehospitalInfo;
+import com.diagbot.entity.DoctorAdvice;
+import com.diagbot.entity.HomeDiagnoseInfo;
+import com.diagbot.entity.HomeOperationInfo;
+import com.diagbot.entity.HomePage;
+import com.diagbot.entity.MedCrisisInfo;
+import com.diagbot.entity.MedicalRecord;
+import com.diagbot.entity.MedicalRecordContent;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2020/4/14 9:53
+ */
+@Data
+public class DataImportVO {
+    // 病历信息
+    private List<BehospitalInfo> behospitalInfoList;
+    // 危急值信息
+    private List<MedCrisisInfo> medCrisisInfoList;
+    // 病人医嘱
+    private List<DoctorAdvice> doctorAdviceList;
+    // 病案首页诊断
+    private List<HomeDiagnoseInfo> homeDiagnoseInfoList;
+    // 病案首页
+    private List<HomePage> homePageList;
+    // 病案首页手术信息
+    private List<HomeOperationInfo> homeOperationInfoList;
+    // 文书信息
+    private List<MedicalRecord> medicalRecordList;
+    // 文书明细信息
+    private List<MedicalRecordContent> medicalRecordContentList;
+}

+ 68 - 0
src/main/java/com/diagbot/web/DataImportController.java

@@ -0,0 +1,68 @@
+package com.diagbot.web;
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.DataImportFacade;
+import com.diagbot.vo.DataImportVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 数据导入 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+@RestController
+@RequestMapping("/qc/dataimport")
+@SuppressWarnings("unchecked")
+@Api(value = "数据导入API", tags = { "数据导入API" })
+public class DataImportController {
+
+    @Autowired
+    DataImportFacade dataImportFacade;
+
+    @ApiOperation(value = "导入数据[by:zhoutg]",
+            notes = "// 病历信息\n" +
+                    "List<BehospitalInfo> behospitalInfoList;\n" +
+                    "// 危急值信息\n" +
+                    "List<MedCrisisInfo> medCrisisInfoList;\n" +
+                    "// 病人医嘱\n" +
+                    "List<DoctorAdvice> doctorAdviceList;\n" +
+                    "// 病案首页诊断\n" +
+                    "List<HomeDiagnoseInfo> homeDiagnoseInfoList;\n" +
+                    "// 病案首页\n" +
+                    "List<HomePage> homePageList;\n" +
+                    "// 病案首页手术信息\n" +
+                    "List<HomeOperationInfo> homeOperationInfoList;\n" +
+                    "// 文书信息\n" +
+                    "List<MedicalRecord> medicalRecordList;\n" +
+                    "// 文书明细信息\n" +
+                    "List<MedicalRecordContent> medicalRecordContentList;")
+    @PostMapping("/import")
+    @SysLogger("import")
+    @Transactional
+    public RespDTO<Boolean> dataimport(@RequestBody DataImportVO dataImportVO) {
+        Boolean data = dataImportFacade.dataImportFacade(dataImportVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "模拟测试数据[by:zhoutg]",
+            notes = "")
+    @PostMapping("/test")
+    @SysLogger("test")
+    @Transactional
+    public RespDTO<Boolean> test() {
+        Boolean data = dataImportFacade.test();
+        return RespDTO.onSuc(data);
+    }
+
+}

+ 4 - 0
src/main/resources/application-dev.yml

@@ -121,6 +121,10 @@ spring:
         min-idle: 0 # 连接池中的最小空闲连接
     timeout: 20000 # 连接超时时间(毫秒)
 
+  servlet:
+    multipart:
+      max-request-size: 2048MB
+
 #mybatis
 mybatis-plus:
   mapper-locations: classpath:/mapper/*Mapper.xml

+ 4 - 0
src/main/resources/application-local.yml

@@ -121,6 +121,10 @@ spring:
         min-idle: 0 # 连接池中的最小空闲连接
     timeout: 20000 # 连接超时时间(毫秒)
 
+  servlet:
+    multipart:
+      max-request-size: 2048MB
+
 #mybatis
 mybatis-plus:
   mapper-locations: classpath:/mapper/*Mapper.xml

+ 4 - 0
src/main/resources/application-pre.yml

@@ -121,6 +121,10 @@ spring:
         min-idle: 0 # 连接池中的最小空闲连接
     timeout: 20000 # 连接超时时间(毫秒)
 
+  servlet:
+    multipart:
+      max-request-size: 2048MB
+
 #mybatis
 mybatis-plus:
   mapper-locations: classpath:/mapper/*Mapper.xml

+ 4 - 0
src/main/resources/application-pro.yml

@@ -121,6 +121,10 @@ spring:
         min-idle: 0 # 连接池中的最小空闲连接
     timeout: 20000 # 连接超时时间(毫秒)
 
+  servlet:
+    multipart:
+      max-request-size: 2048MB
+
 #mybatis
 mybatis-plus:
   mapper-locations: classpath:/mapper/*Mapper.xml

+ 4 - 0
src/main/resources/application-test.yml

@@ -121,6 +121,10 @@ spring:
         min-idle: 0 # 连接池中的最小空闲连接
     timeout: 20000 # 连接超时时间(毫秒)
 
+  servlet:
+    multipart:
+      max-request-size: 2048MB
+
 #mybatis
 mybatis-plus:
   mapper-locations: classpath:/mapper/*Mapper.xml

+ 31 - 0
src/main/resources/mapper/MedCrisisInfoMapper.xml

@@ -0,0 +1,31 @@
+<?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.MedCrisisInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.MedCrisisInfo">
+        <id column="rec_id" property="recId" />
+        <result column="hospital_id" property="hospitalId" />
+        <result column="behospital_code" property="behospitalCode" />
+        <result column="rec_type" property="recType" />
+        <result column="crisis_id" property="crisisId" />
+        <result column="crisis_name" property="crisisName" />
+        <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="crisis_value" property="crisisValue" />
+        <result column="crisis_desc" property="crisisDesc" />
+        <result column="crisis_status" property="crisisStatus" />
+        <result column="crisis_top_value" property="crisisTopValue" />
+        <result column="crisis_lower_value" property="crisisLowerValue" />
+        <result column="send_date" property="sendDate" />
+        <result column="rep_date" property="repDate" />
+        <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>

+ 2 - 2
src/test/java/com/diagbot/CodeGeneration.java

@@ -33,7 +33,7 @@ public class CodeGeneration {
         gc.setEnableCache(false);// XML 二级缓存
         gc.setBaseResultMap(true);// XML ResultMap
         gc.setBaseColumnList(false);// XML columList
-        gc.setAuthor("gaodm");// 作者
+        gc.setAuthor("zhoutg");// 作者
 
         // 自定义文件命名,注意 %s 会自动填充表实体属性!
         gc.setControllerName("%sController");
@@ -56,7 +56,7 @@ public class CodeGeneration {
         StrategyConfig strategy = new StrategyConfig();
 //        strategy.setTablePrefix(new String[] { "med_" });// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "med_qcresult_detail","med_behospital_info"}); // 需要生成的表
+        strategy.setInclude(new String[] { "med_crisis_info"}); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);