Browse Source

修改质控代码

lipc 5 years ago
parent
commit
052e7429a3

+ 2 - 2
src/main/java/com/diagbot/entity/shaoyifu/entity/SYFPatientCrisis.java

@@ -2,7 +2,7 @@ package com.diagbot.entity.shaoyifu.entity;
 
 import java.io.Serializable;
 
-public class SYFPatientCrisis implements Serializable {
+public class SYFMedCrisis implements Serializable {
     private String rdn;//危急值唯一号
     private String mrn;//病历号
     private String series;//就诊次数
@@ -456,7 +456,7 @@ public class SYFPatientCrisis implements Serializable {
 
     @Override
     public String toString() {
-        return "SYFPatientCrisis{" +
+        return "SYFMedCrisis{" +
                 "rdn='" + rdn + '\'' +
                 ", mrn='" + mrn + '\'' +
                 ", series='" + series + '\'' +

+ 9 - 0
src/main/java/com/diagbot/entity/shaoyifu/response/MedCrisisResponse.java

@@ -0,0 +1,9 @@
+package com.diagbot.entity.shaoyifu.response;
+
+import com.diagbot.entity.shaoyifu.entity.SYFMedCrisis;
+import com.diagbot.entity.shaoyifu.util.SYFInterfaceResponse;
+
+import java.util.List;
+
+public class MedCrisisResponse extends SYFInterfaceResponse<List<SYFMedCrisis>> {
+}

+ 0 - 10
src/main/java/com/diagbot/entity/shaoyifu/response/PatientCrisisResponse.java

@@ -1,10 +0,0 @@
-package com.diagbot.entity.shaoyifu.response;
-
-import com.diagbot.entity.shaoyifu.entity.SYFPatientCrisis;
-import com.diagbot.entity.shaoyifu.util.SYFInterfaceResponse;
-import com.diagbot.entity.shaoyifu.util.SYFNlResponse;
-
-import java.util.List;
-
-public class PatientCrisisResponse extends SYFInterfaceResponse<List<SYFPatientCrisis>> {
-}

+ 52 - 42
src/main/java/com/diagbot/facade/data/ABehospitalInfoFacade.java

@@ -7,6 +7,7 @@ import com.diagbot.dto.data.ABehospitalInfoDTO;
 import com.diagbot.entity.*;
 import com.diagbot.entity.shaoyifu.entity.PatientInfo;
 import com.diagbot.entity.shaoyifu.entity.SYFBeHospitalInfo;
+import com.diagbot.entity.shaoyifu.entity.SYFPatientList;
 import com.diagbot.entity.shaoyifu.request.BeHospitalInfoRequest;
 import com.diagbot.entity.shaoyifu.request.PatientListRequest;
 import com.diagbot.entity.shaoyifu.response.BeHospitalInfoResponse;
@@ -59,18 +60,25 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
     /**
      * 终末质控-同步前一天的入院记录
      */
-    public void executeBehospital() {
+    public void executeBehospital1(List<PatientInfo> patientInfo) {
 
         try {
+            List<PatientInfo> patientInfoList = Lists.newLinkedList();
 
-            /*PatientListRequest patientListRequest = new PatientListRequest();
-            *//*patientListRequest.setDATESTART(sdf.format(startTime));
-            patientListRequest.setDATEEND(sdf.format(endTime));*//*
-            patientListRequest.setDATESTART("2020-04-01 00:00:00");
-            patientListRequest.setDATEEND("2020-04-08 00:00:00");
-            PatientListResponse patientListResponse = aPatientListFacade.savePatientList(patientListRequest);*/
+            if (patientInfo.size() > 0) {
+                aPatientListFacade.savePatientInfo(patientInfo);
+                patientInfoList.add(patientInfo.get(0));
+            } else {
+                /*PatientListRequest patientListRequest = new PatientListRequest();
+                 *//*patientListRequest.setDATESTART(sdf.format(startTime));
+                patientListRequest.setDATEEND(sdf.format(endTime));*//*
+                patientListRequest.setDATESTART("2020-04-01 00:00:00");
+                patientListRequest.setDATEEND("2020-04-08 00:00:00");
+                PatientListResponse patientListResponse = aPatientListFacade.savePatientList(patientListRequest);*/
+
+                patientInfoList = patientInfoServiceImpl.list();
+            }
 
-            List<PatientInfo> patientInfoList = patientInfoServiceImpl.list();
 
             for (int i = 0; i < patientInfoList.size(); i++) {
                 BeHospitalInfoRequest beHospitalInfoRequest = new BeHospitalInfoRequest();
@@ -90,7 +98,7 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
 
                 SYFBeHospitalInfo sYFBeHospitalInfo = beHospitalInfoResponse.getResultJson();
 
-                List<BehospitalInfo> behospitalInfoList =Lists.newLinkedList();
+                List<BehospitalInfo> behospitalInfoList = Lists.newLinkedList();
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                 if (sYFBeHospitalInfo != null) {
                     BehospitalInfo behospitalInfo = new BehospitalInfo();
@@ -137,7 +145,7 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
      * 同步前一天的入院记录
      */
     public void executeBehospitalPast() {
-        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()";
         List<BehospitalInfo> behospitalInfoList = tzDBConn.getBehospitalInfo(sql);
         execute(behospitalInfoList);
     }
@@ -145,26 +153,27 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
 
     /**
      * 通过接口更新病人住院记录信息
+     *
      * @param list
      * @return
      */
     public RespDTO<List<ABehospitalInfoDTO>> executeBehospital(List<ABehospitalInfoVO> list) {
-        if(list!=null && list.size()>0) {
+        if (list != null && list.size() > 0) {
             List<BehospitalInfo> behospitalInfoList = Lists.newArrayList();
             List<ABehospitalInfoDTO> behospitalInfoDtoList = Lists.newArrayList();
-            list.stream().forEach(s->{
-                BehospitalInfo behospitalInfo=new BehospitalInfo();
-                BeanUtil.copyProperties(s,behospitalInfo);
-                if(StringUtil.isNotBlank(s.getBirthday())) {
+            list.stream().forEach(s -> {
+                BehospitalInfo behospitalInfo = new BehospitalInfo();
+                BeanUtil.copyProperties(s, behospitalInfo);
+                if (StringUtil.isNotBlank(s.getBirthday())) {
                     behospitalInfo.setBirthday(DateUtil.parseDate(s.getBirthday()));
                 }
-                if(StringUtil.isNotBlank(s.getLeaveHospitalDate())) {
+                if (StringUtil.isNotBlank(s.getLeaveHospitalDate())) {
                     behospitalInfo.setLeaveHospitalDate(DateUtil.parseDateTime(s.getLeaveHospitalDate()));
                 }
-                if(StringUtil.isNotBlank(s.getBehospitalDate())){
+                if (StringUtil.isNotBlank(s.getBehospitalDate())) {
                     behospitalInfo.setBehospitalDate(DateUtil.parseDateTime(s.getBehospitalDate()));
                 }
-                if(StringUtil.isNotBlank(s.getPlacefileDate())){
+                if (StringUtil.isNotBlank(s.getPlacefileDate())) {
                     behospitalInfo.setPlacefileDate(DateUtil.parseDateTime(s.getPlacefileDate()));
                 }
                 behospitalInfoList.add(behospitalInfo);
@@ -172,33 +181,33 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
             });
 
             //循环验证数据有效性
-            for (BehospitalInfo behospitalInfo:behospitalInfoList) {
-                if("".equals(behospitalInfo.getBehospitalCode())) {
+            for (BehospitalInfo behospitalInfo : behospitalInfoList) {
+                if ("".equals(behospitalInfo.getBehospitalCode())) {
                     return RespDTO.onError("请输入病人住院编码!");
-                }else if(behospitalInfo.getHospitalId()==null){
+                } else if (behospitalInfo.getHospitalId() == null) {
                     return RespDTO.onError("请输入医院编码!");
-                }else if("".equals(behospitalInfo.getBehDeptId())){
+                } else if ("".equals(behospitalInfo.getBehDeptId())) {
                     return RespDTO.onError("请输入住院科室编码!");
-                }else if("".equals(behospitalInfo.getBehDeptName())){
+                } else if ("".equals(behospitalInfo.getBehDeptName())) {
                     return RespDTO.onError("请输入住院科室名称!");
                 }
             }
             execute(behospitalInfoList);
             behospitalInfoDtoList = BeanUtil.listCopyTo(list, ABehospitalInfoDTO.class);
             return RespDTO.onSuc(behospitalInfoDtoList);
-        }else{
+        } else {
             return RespDTO.onError("未接收到数据!");
         }
     }
 
-    public void execute(List<BehospitalInfo> behospitalInfoList){
+    public void execute(List<BehospitalInfo> behospitalInfoList) {
         List<BehospitalInfo> addE = Lists.newLinkedList();
         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("is_deleted",IsDeleteEnum.N), false);
+                    .eq("is_deleted", IsDeleteEnum.N), false);
             if (behospitalInfo != null) {
                 s.setGmtModified(new Date());
                 s.setQcTypeId(initQcTypeId(s));
@@ -209,10 +218,10 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
                 addE.add(s);
             }
         });
-        if(addE.size()>0){
+        if (addE.size() > 0) {
             behospitalInfoService.saveBatch(addE);
         }
-        if(updateE.size()>0){
+        if (updateE.size() > 0) {
             behospitalInfoService.updateBatchByKey(updateE);
         }
 
@@ -220,35 +229,36 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
 
     /**
      * 初始化QcTypeId
+     *
      * @param s
      * @return
      */
-    private Long initQcTypeId(BehospitalInfo s){
-        Long qcTypeId=Long.valueOf("0");
+    private Long initQcTypeId(BehospitalInfo s) {
+        Long qcTypeId = Long.valueOf("0");
         MedicalRecord medicalRecord = aMedicalRecordFacade.getOne(new QueryWrapper<MedicalRecord>()
                 .eq("behospital_code", s.getBehospitalCode())
                 .eq("hospital_id", s.getHospitalId())
                 .eq("mode_id", Long.valueOf("1"))
-                .eq("is_deleted",IsDeleteEnum.N), false);
-        if(medicalRecord!=null){
-            QcType qcType=qcTypeFacade.getOne(new QueryWrapper<QcType>()
-                    .eq("name",medicalRecord.getRecTitle())
+                .eq("is_deleted", IsDeleteEnum.N), false);
+        if (medicalRecord != null) {
+            QcType qcType = qcTypeFacade.getOne(new QueryWrapper<QcType>()
+                    .eq("name", medicalRecord.getRecTitle())
                     .eq("hospital_id", s.getHospitalId())
-                    .eq("is_deleted",IsDeleteEnum.N), false);
-            if(qcType!=null){
-                qcTypeId=qcType.getId();
-            }else{
+                    .eq("is_deleted", IsDeleteEnum.N), false);
+            if (qcType != null) {
+                qcTypeId = qcType.getId();
+            } else {
                 //新增类型到qc_type表中
-                QcType qctype=new QcType();
+                QcType qctype = new QcType();
                 qctype.setHospitalId(s.getHospitalId());
                 qctype.setName(medicalRecord.getRecTitle());
                 qctype.setGmtCreate(new Date());
 
-                Long id=qcTypeFacade.saveT(qctype);
-                qcTypeId=id;
+                Long id = qcTypeFacade.saveT(qctype);
+                qcTypeId = id;
 
                 //新增类型到监测表中
-                QcAbnormal qcAbnormal=new QcAbnormal();
+                QcAbnormal qcAbnormal = new QcAbnormal();
                 qcAbnormal.setHospitalId(s.getHospitalId());
                 qcAbnormal.setBehospitalCode(s.getBehospitalCode());
                 qcAbnormal.setType(2);

+ 96 - 20
src/main/java/com/diagbot/facade/data/AMedCrisisFacade.java

@@ -1,10 +1,18 @@
 package com.diagbot.facade.data;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.AMedCrisisDTO;
 import com.diagbot.entity.MedCrisisInfo;
+import com.diagbot.entity.shaoyifu.entity.PatientInfo;
+import com.diagbot.entity.shaoyifu.entity.SYFMedCrisis;
+import com.diagbot.entity.shaoyifu.request.PatientCrisisRequest;
+import com.diagbot.entity.shaoyifu.response.MedCrisisResponse;
+import com.diagbot.entity.shaoyifu.util.HttpApi;
+import com.diagbot.entity.shaoyifu.util.SYFInterfaceRequest;
 import com.diagbot.service.impl.MedCrisisInfoServiceImpl;
+import com.diagbot.service.impl.PatientInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.vo.data.AMedCrisisVO;
@@ -13,58 +21,126 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 
 @Component
-public class AMedCrisisFacade extends MedCrisisInfoServiceImpl{
+public class AMedCrisisFacade extends MedCrisisInfoServiceImpl {
 
     @Autowired
     @Qualifier("medCrisisInfoServiceImpl")
     private MedCrisisInfoServiceImpl medCrisisInfoService;
 
+    @Autowired
+    private APatientListFacade aPatientListFacade;
+
+    @Autowired
+    private PatientInfoServiceImpl patientInfoServiceImpl;
+
+
+    public void executeMedCrisis() {
+        try {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
+            /*PatientListRequest patientListRequest = new PatientListRequest();
+             *//*patientListRequest.setDATESTART(sdf.format(startTime));
+            patientListRequest.setDATEEND(sdf.format(endTime));*//*
+            patientListRequest.setDATESTART("2020-04-01 00:00:00");
+            patientListRequest.setDATEEND("2020-04-08 00:00:00");
+            PatientListResponse patientListResponse = aPatientListFacade.getPatientList(patientListRequest);*/
+
+            List<PatientInfo> patientInfoList = patientInfoServiceImpl.list();
+
+            for (int i = 0; i < patientInfoList.size(); i++) {
+
+                SYFInterfaceRequest<PatientCrisisRequest> request = new SYFInterfaceRequest<>();
+                PatientCrisisRequest patientCrisisRequest = new PatientCrisisRequest();
+                /*patientCrisisRequest.setMRN(patientListResponse.getData().get(i).getMRN());
+                patientCrisisRequest.setSERIES(patientListResponse.getData().get(i).getSERIES());*/
+                patientCrisisRequest.setMRN(patientInfoList.get(i).getMrn());
+                patientCrisisRequest.setSERIES(patientInfoList.get(i).getSeries());
+                request.setServiceParam(patientCrisisRequest);
+                HttpApi<MedCrisisResponse> httpApi = new HttpApi<>();
+                String a = httpApi.doPost("http://192.1.5.162:8088/api/InterfaceService/getPatientCrisisList", request);
+                MedCrisisResponse medCrisisResponse = JSON.parseObject(a, MedCrisisResponse.class);
+                List<SYFMedCrisis> sYFMedCrisisList = medCrisisResponse.getResultJson();
+                List<MedCrisisInfo> medCrisisInfoList = Lists.newLinkedList();
+                for (int j = 0; j < sYFMedCrisisList.size(); j++) {
+                    MedCrisisInfo medCrisisInfo = new MedCrisisInfo();
+                    medCrisisInfo.setRecId(sYFMedCrisisList.get(j).getRdn());
+                    medCrisisInfo.setHospitalId(Long.parseLong("2"));
+                    medCrisisInfo.setBehospitalCode(patientInfoList.get(i).getMrn() + "_" + patientInfoList.get(i).getSeries());
+                    //medCrisisInfo.setBehospitalCode(patientListResponse.getData().get(i).getMRN() + "_" + patientListResponse.getData().get(i).getSERIES());
+                    medCrisisInfo.setDeptId(sYFMedCrisisList.get(j).getDatein());
+                    medCrisisInfo.setRecType(sYFMedCrisisList.get(j).getCategory());
+                    medCrisisInfo.setCrisisDesc(sYFMedCrisisList.get(j).getRemark());
+                    medCrisisInfo.setDoctorId(sYFMedCrisisList.get(j).getDrin());
+                    medCrisisInfo.setDoctorName(sYFMedCrisisList.get(j).getDr());
+                    medCrisisInfo.setCrisisId(sYFMedCrisisList.get(j).getRdn());
+                    medCrisisInfo.setCrisisStatus(sYFMedCrisisList.get(j).getJiantou());
+                    medCrisisInfo.setCrisisName(sYFMedCrisisList.get(j).getChinaname());
+                    medCrisisInfo.setCrisisValue(sYFMedCrisisList.get(j).getNotes());
+                    medCrisisInfo.setCrisisTopValue(sYFMedCrisisList.get(j).getRefhigh());
+                    medCrisisInfo.setCrisisLowerValue(sYFMedCrisisList.get(j).getReflow());
+                    if (sYFMedCrisisList.get(j).getDodate() != null && sYFMedCrisisList.get(j).getDodate().length() > 0) {
+                        sdf.parse(sYFMedCrisisList.get(j).getDodate());
+                    }
+                    if (sYFMedCrisisList.get(j).getReporttime() != null && sYFMedCrisisList.get(j).getReporttime().length() > 0) {
+                        sdf.parse(sYFMedCrisisList.get(j).getReporttime());
+                    }
+                    medCrisisInfoList.add(medCrisisInfo);
+                }
+                execute(medCrisisInfoList);
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
     public RespDTO<List<AMedCrisisDTO>> executeMedCrisis(List<AMedCrisisVO> list) {
-        if(list!=null && list.size()>0){
+        if (list != null && list.size() > 0) {
             //循环验证数据有效性
-            for (AMedCrisisVO aMedCrisisVO:list) {
-                if("".equals(aMedCrisisVO.getRecId())){
+            for (AMedCrisisVO aMedCrisisVO : list) {
+                if ("".equals(aMedCrisisVO.getRecId())) {
                     return RespDTO.onError("请输入文书编码!");
-                }else if("".equals(aMedCrisisVO.getBehospitalCode())) {
+                } else if ("".equals(aMedCrisisVO.getBehospitalCode())) {
                     return RespDTO.onError("请输入病人住院编码!");
-                }else if(aMedCrisisVO.getHospitalId()==null){
+                } else if (aMedCrisisVO.getHospitalId() == null) {
                     return RespDTO.onError("请输入医院编码!");
-                }else if("".equals(aMedCrisisVO.getRecType())){
+                } else if ("".equals(aMedCrisisVO.getRecType())) {
                     return RespDTO.onError("请输入危急值类型!");
                 }
             }
 
-            List<MedCrisisInfo> medCrisisList=Lists.newArrayList();
-            list.stream().forEach(s->{
-                MedCrisisInfo medCrisisInfo=new MedCrisisInfo();
-                BeanUtil.copyProperties(s,medCrisisInfo);
+            List<MedCrisisInfo> medCrisisList = Lists.newArrayList();
+            list.stream().forEach(s -> {
+                MedCrisisInfo medCrisisInfo = new MedCrisisInfo();
+                BeanUtil.copyProperties(s, medCrisisInfo);
                 medCrisisInfo.setRepDate(DateUtil.parseDateTime(s.getRepDate()));
                 medCrisisInfo.setSendDate(DateUtil.parseDateTime(s.getSendDate()));
                 medCrisisList.add(medCrisisInfo);
             });
             execute(medCrisisList);
 
-            List<AMedCrisisDTO> medCrisisDtoList=BeanUtil.listCopyTo(list,AMedCrisisDTO.class);
+            List<AMedCrisisDTO> medCrisisDtoList = BeanUtil.listCopyTo(list, AMedCrisisDTO.class);
             return RespDTO.onSuc(medCrisisDtoList);
-        }else{
+        } else {
             return RespDTO.onError("未接收到数据!");
         }
     }
 
-    public void execute(List<MedCrisisInfo> medCrisisList){
+    public void execute(List<MedCrisisInfo> medCrisisList) {
         List<MedCrisisInfo> addE = Lists.newLinkedList();
         List<MedCrisisInfo> updateE = Lists.newLinkedList();
         if (medCrisisList != null && medCrisisList.size() > 0) {
             medCrisisList.stream().forEach(s -> {
                 MedCrisisInfo medCrisisInfo = this.getOne(new QueryWrapper<MedCrisisInfo>()
-                .eq("rec_id", s.getRecId())
-                .eq("hospital_id", s.getHospitalId())
-                .eq("behospital_code", s.getBehospitalCode())
-                .eq("rec_type", s.getRecType()), false);
+                        .eq("rec_id", s.getRecId())
+                        .eq("hospital_id", s.getHospitalId())
+                        .eq("behospital_code", s.getBehospitalCode())
+                        .eq("rec_type", s.getRecType()), false);
                 if (medCrisisInfo != null) {
                     s.setGmtModified(new Date());
                     updateE.add(s);
@@ -74,10 +150,10 @@ public class AMedCrisisFacade extends MedCrisisInfoServiceImpl{
                 }
             });
         }
-        if(addE.size()>0){
+        if (addE.size() > 0) {
             medCrisisInfoService.saveBatch(addE);
         }
-        if(updateE.size()>0){
+        if (updateE.size() > 0) {
             medCrisisInfoService.updateBatchByKey(updateE);
         }
     }

+ 21 - 14
src/main/java/com/diagbot/facade/data/APatientListFacade.java

@@ -52,20 +52,7 @@ public class APatientListFacade extends PatientInfoServiceImpl {
                     patientList.add(patientInfo);
                 }
 
-                if (patientList.size() > 0) {
-                    patientList.stream().forEach(s -> {
-                        QueryWrapper<PatientInfo> queryWrapper = new QueryWrapper<>();
-                        queryWrapper.eq("behospital_code", (s.getBehospitalCode()));
-                        PatientInfo patientInfo1 = patientInfoServiceImpl.getOne(queryWrapper);
-                        if (patientInfo1 != null) {
-                            s.setGmtModified(new Date());
-                            patientInfoServiceImpl.updateById(s);
-                        } else {
-                            s.setGmtCreate(new Date());
-                            patientInfoServiceImpl.save(s);
-                        }
-                    });
-                }
+                savePatientInfo(patientList);
             }
 
         } catch (Exception e) {
@@ -96,4 +83,24 @@ public class APatientListFacade extends PatientInfoServiceImpl {
         return response;
     }
 
+    /**
+     * 获取一段时间内归档的患者信息
+     */
+    public void savePatientInfo(List<PatientInfo> patientInfoList) {
+
+        if (patientInfoList.size() > 0) {
+            patientInfoList.stream().forEach(s -> {
+                QueryWrapper<PatientInfo> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("behospital_code", (s.getBehospitalCode()));
+                PatientInfo patientInfo1 = patientInfoServiceImpl.getOne(queryWrapper);
+                if (patientInfo1 != null) {
+                    s.setGmtModified(new Date());
+                    patientInfoServiceImpl.updateById(s);
+                } else {
+                    s.setGmtCreate(new Date());
+                    patientInfoServiceImpl.save(s);
+                }
+            });
+        }
+    }
 }

+ 5 - 1
src/main/java/com/diagbot/task/BehospitalInfoTask.java

@@ -2,8 +2,11 @@ package com.diagbot.task;
 
 import java.time.LocalDateTime;
 import java.util.Date;
+import java.util.List;
 
+import com.diagbot.entity.shaoyifu.entity.PatientInfo;
 import com.diagbot.facade.data.ABehospitalInfoFacade;
+import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.Trigger;
@@ -46,7 +49,8 @@ public class BehospitalInfoTask implements SchedulingConfigurer{
                         && task001.getIsDeleted().equals(IsDeleteEnum.N.getKey())
                         && task001.getIsUsed().equals(1)) {
                     log.info("执行动态定时任务: " + LocalDateTime.now().toLocalTime());
-                    aBehospitalInfoFacade.executeBehospital();
+                    List<PatientInfo> patientInfo = Lists.newLinkedList();
+                    aBehospitalInfoFacade.executeBehospital1(patientInfo);
                 }
             }
         }, new Trigger() {

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

@@ -0,0 +1,66 @@
+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.SysTaskCronFacade;
+import com.diagbot.facade.data.AMedCrisisFacade;
+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"), false);
+                String cron = "0 0/1 * * * ?";
+                //2.2 合法性校验.
+                if (null != task001 && StringUtil.isNotBlank(task001.getCron())) {
+                    cron = task001.getCron();
+                }
+                CronTrigger trigger = new CronTrigger(cron);
+                return trigger.nextExecutionTime(triggerContext);
+            }
+        });
+    }
+}

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

@@ -6,8 +6,11 @@ import com.diagbot.dto.AnalyzeDTO;
 import com.diagbot.dto.AnalyzeRunDTO;
 import com.diagbot.dto.BehospitalInfoDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.shaoyifu.entity.PatientInfo;
+import com.diagbot.entity.shaoyifu.entity.SYFPatientList;
 import com.diagbot.facade.BehospitalInfoFacade;
 import com.diagbot.facade.QcresultInfoFacade;
+import com.diagbot.facade.data.ABehospitalInfoFacade;
 import com.diagbot.vo.AnalyzeApiVO;
 import com.diagbot.vo.AnalyzeRunVO;
 import com.diagbot.vo.AnalyzeVO;
@@ -28,6 +31,7 @@ import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -47,6 +51,8 @@ public class BehospitalInfoController {
     BehospitalInfoFacade behospitalInfoFacade;
     @Autowired
     private QcresultInfoFacade qcresultInfoFacade;
+    @Autowired
+    private ABehospitalInfoFacade aBehospitalInfoFacade;
 
     @ApiOperation(value = "病历分页列表[by:zhoutg]",
             notes = "behospitalCode:病人住院序号<br>" +
@@ -251,4 +257,12 @@ public class BehospitalInfoController {
     public void exportQcresultByGroup(HttpServletResponse response, @RequestBody ExportQcresultVO exportQcresultVO) {
         behospitalInfoFacade.exportQcresultByGroup(response, exportQcresultVO);
     }
+
+    @ApiOperation(value = "",
+            notes = "")
+    @PostMapping("/saveRecordByPatient")
+    @SysLogger("saveRecordByPatient")
+    public void saveRecordByPatient(@RequestBody List<PatientInfo> patientInfoList) {
+        aBehospitalInfoFacade.executeBehospital1(patientInfoList);
+    }
 }

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

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