Parcourir la source

调整同步,增加运行质控

lantone il y a 5 ans
Parent
commit
1b45fa584d
42 fichiers modifiés avec 908 ajouts et 83 suppressions
  1. 1 0
      src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  2. 1 0
      src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  3. 92 0
      src/main/java/com/diagbot/dto/data/AMedCrisisDTO.java
  4. 2 1
      src/main/java/com/diagbot/dto/data/AMedicalRecordDTO.java
  5. 317 0
      src/main/java/com/diagbot/entity/MedCrisisInfo.java
  6. 1 1
      src/main/java/com/diagbot/entity/MedicalRecord.java
  7. 24 18
      src/main/java/com/diagbot/entity/QcType.java
  8. 25 13
      src/main/java/com/diagbot/facade/ABehospitalInfoFacade.java
  9. 3 2
      src/main/java/com/diagbot/facade/ADoctorAdviceFacade.java
  10. 7 1
      src/main/java/com/diagbot/facade/AHomeDiagnoseInfoFacade.java
  11. 7 1
      src/main/java/com/diagbot/facade/AHomeOperationInfoFacade.java
  12. 3 1
      src/main/java/com/diagbot/facade/AHomePageFacade.java
  13. 78 0
      src/main/java/com/diagbot/facade/AMedCrisisFacade.java
  14. 1 1
      src/main/java/com/diagbot/facade/AMedRecordTypeFacade.java
  15. 4 2
      src/main/java/com/diagbot/facade/AMedicalRecordContentFacade.java
  16. 13 9
      src/main/java/com/diagbot/facade/AMedicalRecordFacade.java
  17. 12 0
      src/main/java/com/diagbot/facade/QcTypeFacade.java
  18. 16 0
      src/main/java/com/diagbot/mapper/MedCrisisInfoMapper.java
  19. 2 2
      src/main/java/com/diagbot/mapper/QcTypeMapper.java
  20. 16 0
      src/main/java/com/diagbot/service/MedCrisisInfoService.java
  21. 2 2
      src/main/java/com/diagbot/service/QcTypeService.java
  22. 20 0
      src/main/java/com/diagbot/service/impl/MedCrisisInfoServiceImpl.java
  23. 12 2
      src/main/java/com/diagbot/service/impl/QcTypeServiceImpl.java
  24. 2 2
      src/main/java/com/diagbot/task/BasDeptInfoTask.java
  25. 2 2
      src/main/java/com/diagbot/task/BasDoctorInfoTask.java
  26. 2 2
      src/main/java/com/diagbot/task/BehospitalInfoTask.java
  27. 2 2
      src/main/java/com/diagbot/task/DoctorAdviceTask.java
  28. 2 2
      src/main/java/com/diagbot/task/HomeDiagnoseInfoTask.java
  29. 2 2
      src/main/java/com/diagbot/task/HomeOperationInfoTask.java
  30. 2 2
      src/main/java/com/diagbot/task/HomePageTask.java
  31. 67 0
      src/main/java/com/diagbot/task/MedCrisisTask.java
  32. 2 2
      src/main/java/com/diagbot/task/MedicalRecordContentTask.java
  33. 2 2
      src/main/java/com/diagbot/task/MedicalRecordTask.java
  34. 2 2
      src/main/java/com/diagbot/task/MedicalRecordTypeTask.java
  35. 22 3
      src/main/java/com/diagbot/util/TZDBConn.java
  36. 93 0
      src/main/java/com/diagbot/vo/data/AMedCrisisVO.java
  37. 2 1
      src/main/java/com/diagbot/vo/data/AMedicalRecordVO.java
  38. 10 0
      src/main/java/com/diagbot/web/DataController.java
  39. 1 1
      src/main/resources/application-local.yml
  40. 31 0
      src/main/resources/mapper/MedCrisisInfoMapper.xml
  41. 1 0
      src/main/resources/mapper/QcTypeMapper.xml
  42. 2 2
      src/test/java/com/diagbot/CodeGeneration.java

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

@@ -56,6 +56,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/qc/data/sendHomeDiagnose").permitAll()
                 .antMatchers("/qc/data/sendHomeOperation").permitAll()
                 .antMatchers("/qc/data/sendMrView").permitAll()
+                .antMatchers("/qc/data/sendCrisis").permitAll()
                 .antMatchers("/qc/behospitalInfo/execule").permitAll()
                 .antMatchers("/qc/behospitalInfo/analyze_rpc").permitAll()
                 .antMatchers("/qc/behospitalInfo/analyze_api").permitAll()

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

@@ -99,6 +99,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/data/sendHomeDiagnose", request)
                 || matchers("/qc/data/sendHomeOperation", request)
                 || matchers("/qc/data/sendMrView", request)
+                || matchers("/qc/data/sendCrisis", request)
                 || matchers("/qc/behospitalInfo/execule", request)
                 || matchers("/qc/behospitalInfo/analyze_rpc", request)
                 || matchers("/qc/behospitalInfo/analyze_api", request)

+ 92 - 0
src/main/java/com/diagbot/dto/data/AMedCrisisDTO.java

@@ -0,0 +1,92 @@
+package com.diagbot.dto.data;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+@Getter
+@Setter
+public class AMedCrisisDTO {
+    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 Date sendDate;
+
+    /**
+     * 报告时间
+     */
+    private Date repDate;
+}

+ 2 - 1
src/main/java/com/diagbot/dto/data/AMedicalRecordDTO.java

@@ -4,6 +4,7 @@ import com.diagbot.vo.data.AMedicalRecordContentVO;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
 import java.util.List;
 
 @Getter
@@ -39,7 +40,7 @@ public class AMedicalRecordDTO {
     /**
      * 病历标题
      */
-    private String recTitle;
+    private Date recTitle;
 
     /**
      * 病历内容

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

@@ -0,0 +1,317 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 危急值信息
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-05-28
+ */
+@TableName("med_crisis_info")
+@Data
+public class MedCrisisInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "rec_id",type = IdType.INPUT)
+    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 Date sendDate;
+
+    /**
+     * 报告时间
+     */
+    private Date repDate;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date 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 Date getSendDate() {
+        return sendDate;
+    }
+
+    public void setSendDate(Date sendDate) {
+        this.sendDate = sendDate;
+    }
+    public Date getRepDate() {
+        return repDate;
+    }
+
+    public void setRepDate(Date repDate) {
+        this.repDate = repDate;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date 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 +
+        "}";
+    }
+}

+ 1 - 1
src/main/java/com/diagbot/entity/MedicalRecord.java

@@ -48,7 +48,7 @@ public class MedicalRecord implements Serializable {
     /**
      * 病历日期
      */
-    private String recDate;
+    private Date recDate;
 
     /**
      * 病历标题

+ 24 - 18
src/main/java/com/diagbot/entity/QcType.java

@@ -2,7 +2,7 @@ package com.diagbot.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-
+import java.time.LocalDateTime;
 import java.io.Serializable;
 import java.util.Date;
 
@@ -11,8 +11,8 @@ import java.util.Date;
  * 质控类型标准
  * </p>
  *
- * @author gaodm
- * @since 2020-04-13
+ * @author zhoutg
+ * @since 2020-05-28
  */
 public class QcType implements Serializable {
 
@@ -24,6 +24,11 @@ public class QcType implements Serializable {
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
     /**
      * 质控类型名称
      */
@@ -66,7 +71,13 @@ public class QcType implements Serializable {
     public void setId(Long id) {
         this.id = id;
     }
+    public Long getHospitalId() {
+        return hospitalId;
+    }
 
+    public void setHospitalId(Long hospitalId) {
+        this.hospitalId = hospitalId;
+    }
     public String getName() {
         return name;
     }
@@ -74,7 +85,6 @@ public class QcType implements Serializable {
     public void setName(String name) {
         this.name = name;
     }
-
     public String getRemark() {
         return remark;
     }
@@ -82,7 +92,6 @@ public class QcType implements Serializable {
     public void setRemark(String remark) {
         this.remark = remark;
     }
-
     public String getIsDeleted() {
         return isDeleted;
     }
@@ -90,7 +99,6 @@ public class QcType implements Serializable {
     public void setIsDeleted(String isDeleted) {
         this.isDeleted = isDeleted;
     }
-
     public Date getGmtCreate() {
         return gmtCreate;
     }
@@ -98,7 +106,6 @@ public class QcType implements Serializable {
     public void setGmtCreate(Date gmtCreate) {
         this.gmtCreate = gmtCreate;
     }
-
     public Date getGmtModified() {
         return gmtModified;
     }
@@ -106,7 +113,6 @@ public class QcType implements Serializable {
     public void setGmtModified(Date gmtModified) {
         this.gmtModified = gmtModified;
     }
-
     public String getCreator() {
         return creator;
     }
@@ -114,7 +120,6 @@ public class QcType implements Serializable {
     public void setCreator(String creator) {
         this.creator = creator;
     }
-
     public String getModifier() {
         return modifier;
     }
@@ -126,14 +131,15 @@ public class QcType implements Serializable {
     @Override
     public String toString() {
         return "QcType{" +
-                "id=" + id +
-                ", name=" + name +
-                ", remark=" + remark +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                "}";
+            "id=" + id +
+            ", hospitalId=" + hospitalId +
+            ", name=" + name +
+            ", remark=" + remark +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+        "}";
     }
 }

+ 25 - 13
src/main/java/com/diagbot/facade/ABehospitalInfoFacade.java

@@ -7,6 +7,7 @@ import com.diagbot.entity.*;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.BehospitalInfoServiceImpl;
 import com.diagbot.service.impl.MedicalRecordServiceImpl;
+import com.diagbot.service.impl.QcAbnormalServiceImpl;
 import com.diagbot.service.impl.QcTypeServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.TZDBConn;
@@ -26,8 +27,7 @@ public class ABehospitalInfoFacade {
     private BehospitalInfoServiceImpl behospitalInfoServiceImpl;
 
     @Autowired
-    @Qualifier("qcTypeServiceImpl")
-    private QcTypeServiceImpl qcTypeServiceImpl;
+    private QcTypeFacade qcTypeFacade;
 
     @Autowired
     @Qualifier("medicalRecordServiceImpl")
@@ -39,10 +39,11 @@ public class ABehospitalInfoFacade {
     private TZDBConn tzDBConn = new TZDBConn();
 
     /**
-     * 同步前一天的入院记录
+     * 终末质控-同步前一天的入院记录
      */
     public void executeBehospital() {
-        String sql="select * from br_inpatientinfo where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate()";
+        //String sql="select * from br_inpatientinfo where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate()";
+        String sql="select * from br_inpatientinfo where cjcxrq>=(select CONVERT(varchar,GETDATE()-1,23)) and cjcxrq<(select CONVERT(varchar,GETDATE(),23)) ORDER BY cjcxrq DESC";
         List<BehospitalInfo> behospitalInfoList = tzDBConn.getBehospitalInfo(sql);
         execute(behospitalInfoList);
     }
@@ -103,19 +104,30 @@ public class ABehospitalInfoFacade {
             if(medicalRecord!=null){
                 QueryWrapper<QcType> qWrapper =new QueryWrapper<>();
                 qWrapper.eq("name",medicalRecord.getRecTitle());
-                QcType qcType=qcTypeServiceImpl.getOne(qWrapper);
+                qWrapper.eq("hospital_id", s.getHospitalId());
+                QcType qcType=qcTypeFacade.getOne(qWrapper);
                 if(qcType!=null){
                     s.setQcTypeId(qcType.getId());
                 }else{
-                    s.setQcTypeId(Long.valueOf("0"));
+                    //新增类型到qc_type表中
+                    QcType qctype=new QcType();
+                    qctype.setHospitalId(s.getHospitalId());
+                    qctype.setName(medicalRecord.getRecTitle());
+                    qctype.setRemark("台州");
+                    qctype.setGmtCreate(new Date());
+
+                    Long id=qcTypeFacade.saveT(qctype);
+                    s.setQcTypeId(id);
+
+                    //新增类型到监测表中
+                    QcAbnormal qcAbnormal=new QcAbnormal();
+                    qcAbnormal.setHospitalId(s.getHospitalId());
+                    qcAbnormal.setBehospitalCode(s.getBehospitalCode());
+                    qcAbnormal.setType(2);
+                    qcAbnormal.setDescription(medicalRecord.getRecTitle());
+                    qcAbnormal.setGmtCreate(new Date());
+                    qcAbnormalFacade.getBaseMapper().insert(qcAbnormal);
                 }
-            }else{
-                //新增类型到监测表中
-                QcAbnormal qcAbnormal=new QcAbnormal();
-                qcAbnormal.setHospitalId(s.getHospitalId());
-                qcAbnormal.setBehospitalCode(s.getBehospitalCode());
-                qcAbnormal.setType(2);
-                qcAbnormalFacade.save(qcAbnormal);
             }
 
             QueryWrapper<BehospitalInfo> queryWrapper = new QueryWrapper<>();

+ 3 - 2
src/main/java/com/diagbot/facade/ADoctorAdviceFacade.java

@@ -27,10 +27,11 @@ public class ADoctorAdviceFacade {
     private TZDBConn tzDBConn = new TZDBConn();
 
     /**
-     * 同步前一天的入院病人医嘱信息
+     * 终末质控-同步前一天的入院病人医嘱信息
      */
     public void executeDoctorAdvice() {
-        String sql="select * from br_doctadvice where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate()";
+        //String sql="select * from br_doctadvice where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate()";
+        String sql="select * from br_doctadvice where cjcxrq>=(select CONVERT(varchar,GETDATE()-1,23)) and cjcxrq<(select CONVERT(varchar,GETDATE(),23)) ORDER BY cjcxrq DESC";
         List<DoctorAdvice> doctorAdviceList = tzDBConn.getDoctorAdvice(sql);
         execute(doctorAdviceList);
     }

+ 7 - 1
src/main/java/com/diagbot/facade/AHomeDiagnoseInfoFacade.java

@@ -24,8 +24,13 @@ public class AHomeDiagnoseInfoFacade {
 
     private TZDBConn tzDBConn = new TZDBConn();
 
+    /**
+     * 终末质控-定时同步病案首页诊断
+     */
     public void executeHomeDiagnose() {
-        String sql="select * from br_recdiagnose where BASYID in (select BASYID from br_rechome where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate())";//今年的数据
+        //String sql="select * from br_recdiagnose where BASYID in (select BASYID from br_rechome where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate())";//今年的数据
+        //前一天的数据
+        String sql="select * from br_recdiagnose where BASYID in (select BASYID from br_rechome where cjcxrq>=(select CONVERT(varchar,GETDATE()-1,23)) and cjcxrq<(select CONVERT(varchar,GETDATE(),23)))";
         List<HomeDiagnoseInfo> homeDiagnoseList = tzDBConn.getHomeDiagnose(sql);
         execute(homeDiagnoseList);
     }
@@ -65,6 +70,7 @@ public class AHomeDiagnoseInfoFacade {
                 if(s.getHomePageId()!=null && !"".equals(s.getDiagnoseOrderNo())){
                     QueryWrapper<HomeDiagnoseInfo> queryWrapper = new QueryWrapper<>();
                     queryWrapper.eq("home_page_id", s.getHomePageId());
+                    queryWrapper.eq("hospital_id", s.getHospitalId());
                     queryWrapper.eq("diagnose_order_no", s.getDiagnoseOrderNo());
                     HomeDiagnoseInfo diagnoseInfo = homeDiagnoseInfoServiceImpl.getOne(queryWrapper);
                     if (diagnoseInfo != null) {

+ 7 - 1
src/main/java/com/diagbot/facade/AHomeOperationInfoFacade.java

@@ -23,8 +23,13 @@ public class AHomeOperationInfoFacade {
 
     private TZDBConn tzDBConn = new TZDBConn();
 
+    /**
+     * 终末质控-同步前一天数据
+     */
     public void executeHomeOperation() {
-        String sql="select * from br_recoperation where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate()";
+        //String sql="select * from br_recoperation where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate()";
+        //前一天数据
+        String sql="select * from br_recoperation where cjcxrq>=(select CONVERT(varchar,GETDATE()-1,23)) and cjcxrq<(select CONVERT(varchar,GETDATE(),23))";
         List<HomeOperationInfo> homeOperationList = tzDBConn.getHomeOperation(sql);
         execute(homeOperationList);
     }
@@ -61,6 +66,7 @@ public class AHomeOperationInfoFacade {
                 if(s.getHomePageId()!=null && !"".equals(s.getOperationOrderNo())) {
                     QueryWrapper<HomeOperationInfo> queryWrapper = new QueryWrapper<>();
                     queryWrapper.eq("home_page_id", s.getHomePageId());
+                    queryWrapper.eq("hospital_id", s.getHospitalId());
                     queryWrapper.eq("operation_order_no", s.getOperationOrderNo());
                     HomeOperationInfo operationInfo = homeOperationInfoServiceImpl.getOne(queryWrapper);
                     if (operationInfo != null) {

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

@@ -44,7 +44,9 @@ public class AHomePageFacade {
      * 同步前一天病案首页
      */
     public void executeHomePage() {
-        String sql="select * from br_rechome where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate()";
+        //String sql="select * from br_rechome where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate()";
+        //同步前一天的数据
+        String sql="select * from br_rechome where cjcxrq>=(select CONVERT(varchar,GETDATE()-1,23)) and cjcxrq<(select CONVERT(varchar,GETDATE(),23)) ORDER BY cjcxrq DESC";
         List<HomePage> homePageList = tzDBConn.getHomePage(sql);
         execute(homePageList);
     }

+ 78 - 0
src/main/java/com/diagbot/facade/AMedCrisisFacade.java

@@ -0,0 +1,78 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.data.AHomeDiagnoseDTO;
+import com.diagbot.dto.data.AMedCrisisDTO;
+import com.diagbot.entity.BehospitalInfo;
+import com.diagbot.entity.HomeDiagnoseInfo;
+import com.diagbot.entity.MedCrisisInfo;
+import com.diagbot.service.impl.MedCrisisInfoServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.vo.data.AMedCrisisVO;
+import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class AMedCrisisFacade {
+
+    @Autowired
+    @Qualifier("medCrisisInfoServiceImpl")
+    private MedCrisisInfoServiceImpl medCrisisInfoServiceImpl;
+
+    public void executeMedCrisis(){
+
+    }
+
+    public RespDTO<List<AMedCrisisDTO>> executeMedCrisis(List<AMedCrisisVO> list) {
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (AMedCrisisVO aMedCrisisVO:list) {
+                if("".equals(aMedCrisisVO.getRecId())){
+                    return RespDTO.onError("请输入文书编码!");
+                }else if("".equals(aMedCrisisVO.getBehospitalCode())) {
+                    return RespDTO.onError("请输入病人住院编码!");
+                }else if(aMedCrisisVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(aMedCrisisVO.getRecType())){
+                    return RespDTO.onError("请输入危急值类型!");
+                }
+            }
+
+            List<MedCrisisInfo> medCrisisList=Lists.newArrayList();
+            List<AMedCrisisDTO> medCrisisDtoList=Lists.newArrayList();
+
+            medCrisisList=BeanUtil.listCopyTo(list,MedCrisisInfo.class);
+            medCrisisDtoList=BeanUtil.listCopyTo(list,AMedCrisisDTO.class);
+            execute(medCrisisList);
+            return RespDTO.onSuc(medCrisisDtoList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<MedCrisisInfo> medCrisisList){
+        if (medCrisisList != null && medCrisisList.size() > 0) {
+            medCrisisList.stream().forEach(s -> {
+                QueryWrapper<MedCrisisInfo> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("rec_id", s.getRecId());
+                queryWrapper.eq("hospital_id", s.getHospitalId());
+                queryWrapper.eq("behospital_code", s.getBehospitalCode());
+                queryWrapper.eq("rec_type", s.getRecType());
+                MedCrisisInfo medCrisisInfo = medCrisisInfoServiceImpl.getOne(queryWrapper);
+                if (medCrisisInfo != null) {
+                    s.setGmtModified(new Date());
+                    medCrisisInfoServiceImpl.update(s,queryWrapper);
+                } else {
+                    s.setGmtCreate(new Date());
+                    medCrisisInfoServiceImpl.save(s);
+                }
+            });
+        }
+    }
+}

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

@@ -26,7 +26,7 @@ public class AMedRecordTypeFacade {
     private TZDBConn tzDBConn = new TZDBConn();
 
     /**
-     * 同步前一天变更的模板类型
+     * 终末质控-同步前一天变更的模板类型
      */
     public void executeMRType() {
         String sql="select * from ar_medirecclass where SFZFPB='1' and cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate()";

+ 4 - 2
src/main/java/com/diagbot/facade/AMedicalRecordContentFacade.java

@@ -23,10 +23,11 @@ public class AMedicalRecordContentFacade {
     private TZDBConn tzDBConn = new TZDBConn();
 
     /**
-     * 同步前一天的病历详细记录
+     * 终末质控-同步前一天的病历详细记录
      */
     public void executeMrRecordContent() {
-        String sql="select * from mr_mrcontent  where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate()";
+        //String sql="select * from mr_mrcontent  where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate()";
+        String sql="select BLJLID,BLJLNR from mr_mrcontent  where cjcxrq>=(select CONVERT(varchar,GETDATE()-1,23)) and cjcxrq<(select CONVERT(varchar,GETDATE(),23)) ORDER BY cjcxrq DESC";
         List<MedicalRecordContent> mrContentList = tzDBConn.getMedicalRecordContent(sql);
         execute(mrContentList);
     }
@@ -65,6 +66,7 @@ public class AMedicalRecordContentFacade {
             mrContentList.stream().forEach(s -> {
                 QueryWrapper<MedicalRecordContent> queryWrapper = new QueryWrapper<>();
                 queryWrapper.eq("rec_id", s.getRecId());
+                queryWrapper.eq("hospital_id", s.getHospitalId());
                 MedicalRecordContent mrContent = medicalRecordContentServiceImpl.getOne(queryWrapper);
                 if (mrContent != null) {
                     s.setGmtModified(new Date());

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

@@ -62,10 +62,11 @@ public class AMedicalRecordFacade {
     private TZDBConn tzDBConn = new TZDBConn();
 
     /**
-     * 同步前一天的病历记录
+     * 终末质控-同步前一天的病历记录
      */
     public void executeMrRecord() {
-        String sql="select * from mr_medicalrecords  where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate()";
+        //String sql="select * from mr_medicalrecords  where cjcxrq>=dateadd(day,-2,getdate()) and cjcxrq<=getdate()";
+        String sql="select * from mr_medicalrecords  where cjcxrq>=(select CONVERT(varchar,GETDATE()-1,23)) and cjcxrq<(select CONVERT(varchar,GETDATE(),23)) ORDER BY cjcxrq DESC";
         List<MedicalRecord> medicalRecordList = tzDBConn.getMedicalRecord(sql);
         execute(medicalRecordList);
     }
@@ -186,13 +187,16 @@ public class AMedicalRecordFacade {
             medicalRecordList.stream().forEach(s -> {
                 //初始化mode_id
                 Long modeId=initModeId(s);
-                //新增类型到监测表中
-                QcAbnormal qcAbnormal=new QcAbnormal();
-                qcAbnormal.setHospitalId(s.getHospitalId());
-                qcAbnormal.setBehospitalCode(s.getBehospitalCode());
-                qcAbnormal.setType(1);
-                qcAbnormal.setDescription(s.getRecTitle());
-                qcAbnormalFacade.save(qcAbnormal);
+                if(modeId==Long.valueOf("0")){
+                    //新增类型到监测表中
+                    QcAbnormal qcAbnormal=new QcAbnormal();
+                    qcAbnormal.setHospitalId(s.getHospitalId());
+                    qcAbnormal.setBehospitalCode(s.getBehospitalCode());
+                    qcAbnormal.setType(1);
+                    qcAbnormal.setDescription(s.getRecTitle());
+                    qcAbnormal.setGmtCreate(new Date());
+                    qcAbnormalFacade.save(qcAbnormal);
+                }
                 s.setModeId(modeId);
                 //新增或修改
                 saveOrUpdate(s);

+ 12 - 0
src/main/java/com/diagbot/facade/QcTypeFacade.java

@@ -0,0 +1,12 @@
+package com.diagbot.facade;
+
+import com.diagbot.MrqcSysApplication;
+import com.diagbot.entity.QcType;
+import com.diagbot.service.impl.QcTypeServiceImpl;
+import org.springframework.boot.SpringApplication;
+import org.springframework.stereotype.Component;
+
+@Component
+public class QcTypeFacade extends QcTypeServiceImpl {
+
+}

+ 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-05-28
+ */
+public interface MedCrisisInfoMapper extends BaseMapper<MedCrisisInfo> {
+
+}

+ 2 - 2
src/main/java/com/diagbot/mapper/QcTypeMapper.java

@@ -8,8 +8,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * 质控类型标准 Mapper 接口
  * </p>
  *
- * @author gaodm
- * @since 2020-04-13
+ * @author zhoutg
+ * @since 2020-05-28
  */
 public interface QcTypeMapper extends BaseMapper<QcType> {
 

+ 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-05-28
+ */
+public interface MedCrisisInfoService extends IService<MedCrisisInfo> {
+
+}

+ 2 - 2
src/main/java/com/diagbot/service/QcTypeService.java

@@ -8,8 +8,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * 质控类型标准 服务类
  * </p>
  *
- * @author gaodm
- * @since 2020-04-13
+ * @author zhoutg
+ * @since 2020-05-28
  */
 public interface QcTypeService extends IService<QcType> {
 

+ 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-05-28
+ */
+@Service
+public class MedCrisisInfoServiceImpl extends ServiceImpl<MedCrisisInfoMapper, MedCrisisInfo> implements MedCrisisInfoService {
+
+}

+ 12 - 2
src/main/java/com/diagbot/service/impl/QcTypeServiceImpl.java

@@ -1,5 +1,6 @@
 package com.diagbot.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.entity.QcType;
 import com.diagbot.mapper.QcTypeMapper;
 import com.diagbot.service.QcTypeService;
@@ -11,10 +12,19 @@ import org.springframework.stereotype.Service;
  * 质控类型标准 服务实现类
  * </p>
  *
- * @author gaodm
- * @since 2020-04-13
+ * @author zhoutg
+ * @since 2020-05-28
  */
 @Service
 public class QcTypeServiceImpl extends ServiceImpl<QcTypeMapper, QcType> implements QcTypeService {
 
+    public Long saveT(QcType qcType){
+        this.baseMapper.insert(qcType);
+        QueryWrapper<QcType> qWrapper =new QueryWrapper<>();
+        qWrapper.eq("name",qcType.getName());
+        qWrapper.eq("hospital_id", qcType.getHospitalId());
+        QcType entity=this.baseMapper.selectOne(qWrapper);
+        return entity.getId();
+    }
+
 }

+ 2 - 2
src/main/java/com/diagbot/task/BasDeptInfoTask.java

@@ -55,8 +55,8 @@ public class BasDeptInfoTask implements SchedulingConfigurer{
             public Date nextExecutionTime(TriggerContext triggerContext) {
                 //2.1 从数据库获取执行周期
                 task001 = sysTaskCronFacade.getOne(new QueryWrapper<SysTaskCron>()
-                        .eq("cron_code", "TASK002"));
-                String cron = "0/5 * * * * ?";
+                        .eq("cron_code", "TASK011"));
+                String cron = "0 0/5 * * * ?";
                 //2.2 合法性校验.
                 if (null != task001 && StringUtil.isNotBlank(task001.getCron())) {
                     cron = task001.getCron();

+ 2 - 2
src/main/java/com/diagbot/task/BasDoctorInfoTask.java

@@ -54,8 +54,8 @@ public class BasDoctorInfoTask implements SchedulingConfigurer{
             public Date nextExecutionTime(TriggerContext triggerContext) {
                 //2.1 从数据库获取执行周期
                 task001 = sysTaskCronFacade.getOne(new QueryWrapper<SysTaskCron>()
-                        .eq("cron_code", "TASK003"));
-                String cron = "0/5 * * * * ?";
+                        .eq("cron_code", "TASK010"));
+                String cron = "0 0/5 * * * ?";
                 //2.2 合法性校验.
                 if (null != task001 && StringUtil.isNotBlank(task001.getCron())) {
                     cron = task001.getCron();

+ 2 - 2
src/main/java/com/diagbot/task/BehospitalInfoTask.java

@@ -54,8 +54,8 @@ public class BehospitalInfoTask implements SchedulingConfigurer{
             public Date nextExecutionTime(TriggerContext triggerContext) {
                 //2.1 从数据库获取执行周期
                 task001 = sysTaskCronFacade.getOne(new QueryWrapper<SysTaskCron>()
-                        .eq("cron_code", "TASK007"));
-                String cron = "0/5 * * * * ?";
+                        .eq("cron_code", "TASK008"));
+                String cron = "0 0/5 * * * ?";
                 //2.2 合法性校验.
                 if (null != task001 && StringUtil.isNotBlank(task001.getCron())) {
                     cron = task001.getCron();

+ 2 - 2
src/main/java/com/diagbot/task/DoctorAdviceTask.java

@@ -55,8 +55,8 @@ public class DoctorAdviceTask implements SchedulingConfigurer{
             public Date nextExecutionTime(TriggerContext triggerContext) {
                 //2.1 从数据库获取执行周期
                 task001 = sysTaskCronFacade.getOne(new QueryWrapper<SysTaskCron>()
-                        .eq("cron_code", "TASK008"));
-                String cron = "0/5 * * * * ?";
+                        .eq("cron_code", "TASK009"));
+                String cron = "0 0/5 * * * ?";
                 //2.2 合法性校验.
                 if (null != task001 && StringUtil.isNotBlank(task001.getCron())) {
                     cron = task001.getCron();

+ 2 - 2
src/main/java/com/diagbot/task/HomeDiagnoseInfoTask.java

@@ -56,8 +56,8 @@ public class HomeDiagnoseInfoTask implements SchedulingConfigurer{
             public Date nextExecutionTime(TriggerContext triggerContext) {
                 //2.1 从数据库获取执行周期
                 task001 = sysTaskCronFacade.getOne(new QueryWrapper<SysTaskCron>()
-                        .eq("cron_code", "TASK004"));
-                String cron = "0/5 * * * * ?";
+                        .eq("cron_code", "TASK003"));
+                String cron = "0 0/5 * * * ?";
                 //2.2 合法性校验.
                 if (null != task001 && StringUtil.isNotBlank(task001.getCron())) {
                     cron = task001.getCron();

+ 2 - 2
src/main/java/com/diagbot/task/HomeOperationInfoTask.java

@@ -54,8 +54,8 @@ public class HomeOperationInfoTask implements SchedulingConfigurer{
             public Date nextExecutionTime(TriggerContext triggerContext) {
                 //2.1 从数据库获取执行周期
                 task001 = sysTaskCronFacade.getOne(new QueryWrapper<SysTaskCron>()
-                        .eq("cron_code", "TASK005"));
-                String cron = "0/5 * * * * ?";
+                        .eq("cron_code", "TASK004"));
+                String cron = "0 0/5 * * * ?";
                 //2.2 合法性校验.
                 if (null != task001 && StringUtil.isNotBlank(task001.getCron())) {
                     cron = task001.getCron();

+ 2 - 2
src/main/java/com/diagbot/task/HomePageTask.java

@@ -55,8 +55,8 @@ public class HomePageTask implements SchedulingConfigurer{
             public Date nextExecutionTime(TriggerContext triggerContext) {
                 //2.1 从数据库获取执行周期
                 task001 = sysTaskCronFacade.getOne(new QueryWrapper<SysTaskCron>()
-                        .eq("cron_code", "TASK006"));
-                String cron = "0/5 * * * * ?";
+                        .eq("cron_code", "TASK002"));
+                String cron = "0 0/5 * * * ?";
                 //2.2 合法性校验.
                 if (null != task001 && StringUtil.isNotBlank(task001.getCron())) {
                     cron = task001.getCron();

+ 67 - 0
src/main/java/com/diagbot/task/MedCrisisTask.java

@@ -0,0 +1,67 @@
+package com.diagbot.task;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.SysTaskCron;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.facade.AHomePageFacade;
+import com.diagbot.facade.AMedCrisisFacade;
+import com.diagbot.facade.SysTaskCronFacade;
+import com.diagbot.util.StringUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.Trigger;
+import org.springframework.scheduling.TriggerContext;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.SchedulingConfigurer;
+import org.springframework.scheduling.config.ScheduledTaskRegistrar;
+import org.springframework.scheduling.support.CronTrigger;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+@Configuration      //1.主要用于标记配置类,兼备Component的效果。
+@EnableScheduling   // 2.开启定时任务
+@Slf4j
+public class MedCrisisTask implements SchedulingConfigurer {
+    @Autowired
+    private SysTaskCronFacade sysTaskCronFacade;
+
+    private SysTaskCron task001 = new SysTaskCron();
+
+    @Autowired
+    private AMedCrisisFacade aMedCrisisFacade;
+
+    /**
+     * 执行定时任务.
+     */
+    @Override
+    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
+        taskRegistrar.addTriggerTask(new Runnable() {
+            @Override
+            public void run() {
+                //1.添加任务内容(Runnable)
+                if (null != task001
+                        && task001.getIsDeleted().equals(IsDeleteEnum.N.getKey())
+                        && task001.getIsUsed().equals(1)) {
+                    log.info("执行动态定时任务: " + LocalDateTime.now().toLocalTime());
+                    aMedCrisisFacade.executeMedCrisis();
+                }
+            }
+        }, new Trigger() {
+            @Override
+            public Date nextExecutionTime(TriggerContext triggerContext) {
+                //2.1 从数据库获取执行周期
+                task001 = sysTaskCronFacade.getOne(new QueryWrapper<SysTaskCron>()
+                        .eq("cron_code", "TASK012"));
+                String cron = "0 0/5 * * * ?";
+                //2.2 合法性校验.
+                if (null != task001 && StringUtil.isNotBlank(task001.getCron())) {
+                    cron = task001.getCron();
+                }
+                CronTrigger trigger = new CronTrigger(cron);
+                return trigger.nextExecutionTime(triggerContext);
+            }
+        });
+    }
+}

+ 2 - 2
src/main/java/com/diagbot/task/MedicalRecordContentTask.java

@@ -56,8 +56,8 @@ public class MedicalRecordContentTask implements SchedulingConfigurer{
             public Date nextExecutionTime(TriggerContext triggerContext) {
                 //2.1 从数据库获取执行周期
                 task001 = sysTaskCronFacade.getOne(new QueryWrapper<SysTaskCron>()
-                        .eq("cron_code", "TASK010"));
-                String cron = "0/5 * * * * ?";
+                        .eq("cron_code", "TASK007"));
+                String cron = "0 0/5 * * * ?";
                 //2.2 合法性校验.
                 if (null != task001 && StringUtil.isNotBlank(task001.getCron())) {
                     cron = task001.getCron();

+ 2 - 2
src/main/java/com/diagbot/task/MedicalRecordTask.java

@@ -55,8 +55,8 @@ public class MedicalRecordTask implements SchedulingConfigurer{
             public Date nextExecutionTime(TriggerContext triggerContext) {
                 //2.1 从数据库获取执行周期
                 task001 = sysTaskCronFacade.getOne(new QueryWrapper<SysTaskCron>()
-                        .eq("cron_code", "TASK009"));
-                String cron = "0/5 * * * * ?";
+                        .eq("cron_code", "TASK006"));
+                String cron = "0 0/5 * * * ?";
                 //2.2 合法性校验.
                 if (null != task001 && StringUtil.isNotBlank(task001.getCron())) {
                     cron = task001.getCron();

+ 2 - 2
src/main/java/com/diagbot/task/MedicalRecordTypeTask.java

@@ -53,8 +53,8 @@ public class MedicalRecordTypeTask implements SchedulingConfigurer {
             public Date nextExecutionTime(TriggerContext triggerContext) {
                 //2.1 从数据库获取执行周期
                 task001 = sysTaskCronFacade.getOne(new QueryWrapper<SysTaskCron>()
-                        .eq("cron_code", "TASK011"));
-                String cron = "0/5 * * * * ?";
+                        .eq("cron_code", "TASK005"));
+                String cron = "0 0/5 * * * ?";
                 //2.2 合法性校验.
                 if (null != task001 && StringUtil.isNotBlank(task001.getCron())) {
                     cron = task001.getCron();

+ 22 - 3
src/main/java/com/diagbot/util/TZDBConn.java

@@ -87,8 +87,6 @@ public class TZDBConn {
 			rs=sta.executeQuery();
 		} catch (SQLException e) {
 			e.printStackTrace();
-		}finally {
-			close();
 		}
 		return rs;
 	}
@@ -143,6 +141,8 @@ public class TZDBConn {
 			}
 		} catch (Exception e) {
 			e.printStackTrace();
+		}finally {
+			close();
 		}
 		
 		return basDoctorInfoList;
@@ -170,6 +170,8 @@ public class TZDBConn {
 			}
 		} catch (Exception e) {
 			e.printStackTrace();
+		}finally {
+			close();
 		}
 		return basDeptInfoList;
 	}
@@ -200,6 +202,8 @@ public class TZDBConn {
 			}
 		} catch (Exception e) {
 			e.printStackTrace();
+		}finally {
+			close();
 		}
 		
 		return homeDiagnoseVOList;
@@ -235,6 +239,8 @@ public class TZDBConn {
 			}
 		} catch (Exception e) {
 			e.printStackTrace();
+		}finally {
+			close();
 		}
 		List<HomeOperationInfo> homeOperationList=BeanUtil.listCopyTo(homeOperationVOList, HomeOperationInfo.class);
 		return homeOperationList;
@@ -513,6 +519,8 @@ public class TZDBConn {
 			}
 		} catch (Exception e) {
 			e.printStackTrace();
+		}finally {
+			close();
 		}
 		return homePageList;
 	}
@@ -553,6 +561,8 @@ public class TZDBConn {
 			}
 		} catch (Exception e) {
 			e.printStackTrace();
+		}finally {
+			close();
 		}
 		
 		return behospitalInfoList;
@@ -598,6 +608,8 @@ public class TZDBConn {
 			}
 		} catch (Exception e) {
 			e.printStackTrace();
+		}finally {
+			close();
 		}
 		return doctorAdviceList;
 	}
@@ -618,7 +630,8 @@ public class TZDBConn {
 				medicalRecord.setBehospitalCode(rs.getString("BRZYID"));//病人住院ID
 				medicalRecord.setOrgCode(rs.getString("ZZJGDM"));//组织机构代码
 				medicalRecord.setRecTypeId(rs.getString("BLMBID"));//对应his模板ID
-				medicalRecord.setRecDate(rs.getString("BCJLSJ"));//病历日期
+
+				medicalRecord.setRecDate(rs.getString("BCJLSJ")!=null?DateUtil.parseDateTime(rs.getString("BCJLSJ")):null);//病历日期
 				medicalRecord.setRecTitle(rs.getString("BLJLMC"));//病历标题
 				medicalRecord.setModeId(Long.valueOf(rs.getString("BLLBID")));//对应his类别ID
 				
@@ -626,6 +639,8 @@ public class TZDBConn {
 			}
 		} catch (Exception e) {
 			e.printStackTrace();
+		}finally {
+			close();
 		}
 		
 		return medicalRecordList;
@@ -651,6 +666,8 @@ public class TZDBConn {
 			}
 		} catch (Exception e) {
 			e.printStackTrace();
+		}finally {
+			close();
 		}
 		return mrContentList;
 	}
@@ -676,6 +693,8 @@ public class TZDBConn {
 			}
 		} catch (Exception e) {
 			e.printStackTrace();
+		}finally {
+			close();
 		}
 
 		return mrTypeList;

+ 93 - 0
src/main/java/com/diagbot/vo/data/AMedCrisisVO.java

@@ -0,0 +1,93 @@
+package com.diagbot.vo.data;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+@Getter
+@Setter
+public class AMedCrisisVO {
+    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 Date sendDate;
+
+    /**
+     * 报告时间
+     */
+    private Date repDate;
+
+}

+ 2 - 1
src/main/java/com/diagbot/vo/data/AMedicalRecordVO.java

@@ -1,5 +1,6 @@
 package com.diagbot.vo.data;
 
+import java.util.Date;
 import java.util.List;
 
 import lombok.Getter;
@@ -34,7 +35,7 @@ public class AMedicalRecordVO {
     /**
      * 病历日期
      */
-    private String recDate;
+    private Date recDate;
 
     /**
      * 病历标题

+ 10 - 0
src/main/java/com/diagbot/web/DataController.java

@@ -54,6 +54,9 @@ public class DataController {
     @Autowired
     private AMedicalRecordContentFacade aMedicalRecordContentFacade;
 
+    @Autowired
+    private AMedCrisisFacade aMedCrisisFacade;
+
     @ApiOperation(value = "数据引擎-获取医院所有在职医生的基本信息")
     @PostMapping("/sendDoctorInfos")
     @SysLogger("sendDoctorInfos")
@@ -126,4 +129,11 @@ public class DataController {
         return RespDTO.onSuc(aHomeOperationInfoFacade.executeHomeOperation(list));
     }
 
+    @ApiOperation(value = "数据引擎-获取危急值")
+    @PostMapping("/sendCrisis")
+    @SysLogger("sendCrisis")
+    public RespDTO<List<AMedCrisisDTO>> sendCrisis(@RequestBody List<AMedCrisisVO> list){
+        return aMedCrisisFacade.executeMedCrisis(list);
+    }
+
 }

+ 1 - 1
src/main/resources/application-local.yml

@@ -58,7 +58,7 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.5.177:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      url: jdbc:mysql://192.168.100.157:3306/qc_test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
       username: root
       password: lantone
       # 连接池的配置信息

+ 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>

+ 1 - 0
src/main/resources/mapper/QcTypeMapper.xml

@@ -5,6 +5,7 @@
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.diagbot.entity.QcType">
         <id column="id" property="id" />
+        <result column="hospital_id" property="hospitalId" />
         <result column="name" property="name" />
         <result column="remark" property="remark" />
         <result column="is_deleted" property="isDeleted" />

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

@@ -49,14 +49,14 @@ public class CodeGeneration {
         dsc.setDriverName("com.mysql.cj.jdbc.Driver");
         dsc.setUsername("root");
         dsc.setPassword("lantone");
-        dsc.setUrl("jdbc:mysql://192.168.2.236:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8");
+        dsc.setUrl("jdbc:mysql://192.168.5.177:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8");
         mpg.setDataSource(dsc);
 
         // 策略配置
         StrategyConfig strategy = new StrategyConfig();
 //        strategy.setTablePrefix(new String[] { "med_" });// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "bas_doctor_info"}); // 需要生成的表
+        strategy.setInclude(new String[] { "med_crisis_info"}); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);