|
@@ -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);
|
|
|
+// }
|
|
|
}
|
|
|
}
|