Browse Source

医嘱修改

malz 1 year ago
parent
commit
500075f79d

+ 4 - 1
src/main/java/com/hgwebservice/scheduledTask/ScheduledTask.java

@@ -11,6 +11,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import javax.annotation.PostConstruct;
+
 @Component
 @Slf4j
 public class ScheduledTask {
@@ -20,7 +22,8 @@ public class ScheduledTask {
     private SyncOperatorData syncOperatorData;
     @Autowired
     private SyncPatientDataByDeptCode syncPatientDataByDeptCode;
-    @Scheduled(cron ="* 0/1 * * * ?")
+    @PostConstruct
+    @Scheduled(cron ="${cron}")
     public void sync() {
         DateTime beginTime = DateTime.now();
         System.out.println("-==========================");

+ 37 - 16
src/main/java/com/hgwebservice/service/syncCdm2/SyncDispatchDataByDeptCodeImpl.java

@@ -5,17 +5,21 @@ import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.hgwebservice.dal.dataobject.data.DispatchDataDO;
 import com.hgwebservice.dal.dataobject.data.OperatorDataDO;
+import com.hgwebservice.dal.dataobject.data.PatientDataDO;
 import com.hgwebservice.dal.mysql.data.DispatchDataMapper;
 import com.hgwebservice.dal.mysql.data.OperatorDataMapper;
 import com.hgwebservice.entity.hisview.DispatchData;
 import com.hgwebservice.entity.hisview.OperatorData;
+import com.hgwebservice.entity.hisview.PatientData;
 import com.hgwebservice.service.HgWebService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 @Service
@@ -23,28 +27,45 @@ public class SyncDispatchDataByDeptCodeImpl implements SyncDispatchDataByDeptCod
     @Autowired
     OperatorDataMapper operatorDataMapper;
     @Autowired
+    DispatchDataMapper dispatchDataMapper;
+    @Autowired
     HgWebService hgWebService;
     @Value("${hospital_id}")
     private Integer hospitalId;
     @Override
     public void saveCdm2() {
         List<OperatorDataDO> operatorDataDOS = operatorDataMapper.selectList(new LambdaQueryWrapper<>());
-//        if (CollUtil.isNotEmpty(operatorDataDOS)) {
-//            List<String> collect = operatorDataDOS.stream().map(OperatorDataDO::getDeptCode).distinct().collect(Collectors.toList());
-//            if (CollUtil.isNotEmpty(collect)) {
-//                for (String deptCode : collect) {
-//                    List<DispatchData> dispatchData = hgWebService.getDispatchDataByDeptCode(deptCode);
-//                    if (CollUtil.isNotEmpty(dispatchData)){
-//                        List<DispatchDataDO> dispatchDataDOS = BeanUtil.copyToList(dispatchData, DispatchDataDO.class);
-//                        operatorDataMapper.replaceDispatchData(dispatchDataDOS,hospitalId);
-//                    }
-//                }
-//            }
-//        }
-        List<DispatchData> dispatchData = hgWebService.getDispatchDataByDeptCode("55");
-        if (CollUtil.isNotEmpty(dispatchData)){
-            List<DispatchDataDO> dispatchDataDOS = BeanUtil.copyToList(dispatchData, DispatchDataDO.class);
-            operatorDataMapper.replaceDispatchData(dispatchDataDOS,hospitalId);
+        LambdaQueryWrapper<DispatchDataDO> dispatchDataDOLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        dispatchDataDOLambdaQueryWrapper.eq(DispatchDataDO::getHospitalId,hospitalId);
+        List<DispatchDataDO> dispatchDataDOS1 = dispatchDataMapper.selectList(dispatchDataDOLambdaQueryWrapper);
+        if (CollUtil.isNotEmpty(operatorDataDOS)) {
+            List<String> collect = operatorDataDOS.stream().map(OperatorDataDO::getDeptCode).distinct().collect(Collectors.toList());
+            if (CollUtil.isNotEmpty(collect)) {
+                for (String deptCode : collect) {
+                    List<DispatchData> dispatchData = hgWebService.getDispatchDataByDeptCode(deptCode);
+                    if (CollUtil.isNotEmpty(dispatchData)){
+                        List<Integer> deletedIds=new ArrayList<>();
+                        List<DispatchDataDO> collect1 = dispatchDataDOS1.stream().filter(item -> item.getDeptCode().equals(deptCode)).collect(Collectors.toList());
+                        for (DispatchDataDO dispatchDataDO : collect1) {
+                            Optional<DispatchData> first = dispatchData.stream().filter(item -> item.getPatientNo().equals(dispatchDataDO.getDispatchNo())).findFirst();
+                            if (!first.isPresent()){
+                                deletedIds.add(dispatchDataDO.getId());
+                            }
+                        }
+                        if (CollUtil.isNotEmpty(deletedIds)){
+                            dispatchDataMapper.deleteBatchIds(deletedIds);
+                        }
+
+                        List<DispatchDataDO> dispatchDataDOS = BeanUtil.copyToList(dispatchData, DispatchDataDO.class);
+                        operatorDataMapper.replaceDispatchData(dispatchDataDOS,hospitalId);
+                    }
+                }
+            }
         }
+//        List<DispatchData> dispatchData = hgWebService.getDispatchDataByDeptCode("55");
+//        if (CollUtil.isNotEmpty(dispatchData)){
+//            List<DispatchDataDO> dispatchDataDOS = BeanUtil.copyToList(dispatchData, DispatchDataDO.class);
+//            operatorDataMapper.replaceDispatchData(dispatchDataDOS,hospitalId);
+//        }
     }
 }

+ 35 - 24
src/main/java/com/hgwebservice/service/syncCdm2/SyncPatientDataByDeptCodeImpl.java

@@ -36,32 +36,43 @@ public class SyncPatientDataByDeptCodeImpl implements SyncPatientDataByDeptCode
         LambdaQueryWrapper<PatientDataDO> patientDataDOLambdaQueryWrapper = new LambdaQueryWrapper<>();
         patientDataDOLambdaQueryWrapper.eq(PatientDataDO::getHospitalId,hospitalId);
         List<PatientDataDO> patientDataDOS1 = patientDataMapper.selectList(patientDataDOLambdaQueryWrapper);
-//        if (CollUtil.isNotEmpty(operatorDataDOS)){
-//            List<String> collect = operatorDataDOS.stream().map(OperatorDataDO::getDeptCode).distinct().collect(Collectors.toList());
-//            if (CollUtil.isNotEmpty(collect)){
-//                for (String deptCode : collect) {
-//                    List<PatientData> patientData = hgWebService.getPatientDataByDeptCode(deptCode);
-//                    if (CollUtil.isNotEmpty(patientData)){
-//                        List<PatientDataDO> patientDataDOS = BeanUtil.copyToList(patientData, PatientDataDO.class);
-//                        operatorDataMapper.replacePatientData(patientDataDOS,hospitalId);
-//                    }
-//                }
-//            }
-//        }
-        List<PatientData> patientData = hgWebService.getPatientDataByDeptCode("55");
-        if (CollUtil.isNotEmpty(patientData)){
-            List<Integer> deletedIds=new ArrayList<>();
-            for (PatientDataDO patientDataDO : patientDataDOS1) {
-                Optional<PatientData> first = patientData.stream().filter(item -> item.getPatientNo().equals(patientDataDO.getPatientNo())).findFirst();
-                if (!first.isPresent()){
-                    deletedIds.add(patientDataDO.getId());
+        if (CollUtil.isNotEmpty(operatorDataDOS)){
+            List<String> collect = operatorDataDOS.stream().map(OperatorDataDO::getDeptCode).distinct().collect(Collectors.toList());
+            if (CollUtil.isNotEmpty(collect)){
+                for (String deptCode : collect) {
+                    List<PatientData> patientData = hgWebService.getPatientDataByDeptCode(deptCode);
+                    if (CollUtil.isNotEmpty(patientData)){
+                        List<Integer> deletedIds=new ArrayList<>();
+                        List<PatientDataDO> collect1 = patientDataDOS1.stream().filter(item -> item.getDeptCode().equals(deptCode)).collect(Collectors.toList());
+                        for (PatientDataDO patientDataDO : collect1) {
+                            Optional<PatientData> first = patientData.stream().filter(item -> item.getPatientNo().equals(patientDataDO.getPatientNo())).findFirst();
+                            if (!first.isPresent()){
+                                deletedIds.add(patientDataDO.getId());
+                            }
+                        }
+                        if (CollUtil.isNotEmpty(deletedIds)){
+                            patientDataMapper.deleteBatchIds(deletedIds);
+                        }
+                        List<PatientDataDO> patientDataDOS = BeanUtil.copyToList(patientData, PatientDataDO.class);
+                        operatorDataMapper.replacePatientData(patientDataDOS,hospitalId);
+                    }
                 }
             }
-            if (CollUtil.isNotEmpty(deletedIds)){
-                patientDataMapper.deleteBatchIds(deletedIds);
-            }
-            List<PatientDataDO> patientDataDOS = BeanUtil.copyToList(patientData, PatientDataDO.class);
-            operatorDataMapper.replacePatientData(patientDataDOS,hospitalId);
         }
+//        List<PatientData> patientData = hgWebService.getPatientDataByDeptCode("55");
+//        if (CollUtil.isNotEmpty(patientData)){
+//            List<Integer> deletedIds=new ArrayList<>();
+//            for (PatientDataDO patientDataDO : patientDataDOS1) {
+//                Optional<PatientData> first = patientData.stream().filter(item -> item.getPatientNo().equals(patientDataDO.getPatientNo())).findFirst();
+//                if (!first.isPresent()){
+//                    deletedIds.add(patientDataDO.getId());
+//                }
+//            }
+//            if (CollUtil.isNotEmpty(deletedIds)){
+//                patientDataMapper.deleteBatchIds(deletedIds);
+//            }
+//            List<PatientDataDO> patientDataDOS = BeanUtil.copyToList(patientData, PatientDataDO.class);
+//            operatorDataMapper.replacePatientData(patientDataDOS,hospitalId);
+//        }
     }
 }

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

@@ -7,6 +7,7 @@ db:
   password: vD5LPzoXORAF9gE3
 
 hospital_id: 12713
+cron: 0 0/2 * * * ?
 
 spring:
   application: