同步油田医院数据

This commit is contained in:
feng
2025-08-08 11:05:36 +08:00
parent eeeaf9166b
commit 63ce497551
@@ -11,28 +11,30 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.renkang.anyan.client.AnYanClient;
import com.renkang.anyan.config.AnYanProperties;
import com.renkang.anyan.model.vo.*;
import com.renkang.anyan.model.vo.HealthRoomBaseVO;
import com.renkang.anyan.model.vo.MedicalAbnormalStatisticsVO;
import com.renkang.anyan.model.vo.MedicalAbnormalVO;
import com.renkang.anyan.model.vo.*;
import com.renkang.emergency.bean.response.XjHealthSignFakerData;
import com.renkang.emergency.bean.response.XjMedicalCountFakerData;
import com.renkang.emergency.bean.response.XjMedicalDataFakerData;
import com.renkang.emergency.entity.*;
import com.renkang.emergency.entity.EmergencyHealthRoom;
import com.renkang.emergency.entity.Resource;
import com.renkang.emergency.entity.vo.DataDetailVO;
import com.renkang.emergency.entity.vo.MedicalDataVO;
import com.renkang.emergency.largeScreen.entity.dto.*;
import com.renkang.emergency.largeScreen.entity.vo.*;
import com.renkang.emergency.largeScreen.mapper.LargeScreenMapper;
import com.renkang.emergency.largeScreen.service.ILargeScreenDataService;
import com.renkang.emergency.service.IEmergencyHealthRoomService;
import com.renkang.emergency.largeScreen.service.ILargeScreenService;
import com.renkang.emergency.service.IEmergencyHealthRoomService;
import com.renkang.emergency.service.IResourceService;
import lombok.RequiredArgsConstructor;
import org.jeecg.common.constant.FakerDataConstant;
import org.jeecg.common.util.RedisUtil;
import org.jeecg.util.RedisClientUtil;
import org.jeecg.util.RedisKeyPrefix;
import org.jeecg.util.TypeConversionUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -505,18 +507,44 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
List<HospitalListVO> hospitalListVOList = anYanClient.hospitalList();
if(ObjectUtil.isEmpty(hospitalListVOList)){
LambdaQueryWrapper<Resource> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Resource::getType,1);
wrapper.eq(Resource::getType,"1");
wrapper.in(Resource::getId,hospitalListVOList.stream().map(HospitalListVO::getId).collect(Collectors.toList()));
List<Resource> hospitalList = resourceService.list(wrapper);
List<Resource> saveOrUpdateBatchList = new ArrayList<>();
for(HospitalListVO hospital : hospitalListVOList){
Resource resource = hospitalList.stream().filter(re -> hospital.getId().equals(re.getId())).findFirst().orElse(new Resource());
resource.setAddress(hospital.getAddress());
resource.setMemo(hospital.getAlias()); //医院别名使用备注字段
resource.setCreateTime(DateUtil.parseDate(hospital.getContractDate()));
resource.setName(hospital.getHospitalName());
resource.setId(hospital.getId());
resource.setLatitude(TypeConversionUtil.toBigDecimalOfNull(hospital.getLat()));
resource.setLongitude(TypeConversionUtil.toBigDecimalOfNull(hospital.getLon()));
resource.setType("1");
saveOrUpdateBatchList.add(resource);
}
resourceService.saveOrUpdateBatch(saveOrUpdateBatchList);
}
//更新健康小屋信息
List<HealthRoomBaseVO> healthRoomVOList = anYanClient.healthPlaceHomList();
if(ObjectUtil.isEmpty(healthRoomVOList)){
List<Resource> saveOrUpdateBatchList = new ArrayList<>();
LambdaQueryWrapper<Resource> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Resource::getType,2);
wrapper.eq(Resource::getType,"2");
wrapper.in(Resource::getId,healthRoomVOList.stream().map(HealthRoomBaseVO::getId).collect(Collectors.toList()));
List<Resource> hospitalList = resourceService.list(wrapper);
List<Resource> roomList = resourceService.list(wrapper);
for(HealthRoomBaseVO room : healthRoomVOList){
Resource resource = roomList.stream().filter(re -> room.getId().equals(re.getId())).findFirst().orElse(new Resource());
resource.setAddress(room.getAddress());
resource.setCreateTime(DateUtil.parseDate(room.getBuildDate()));
resource.setName(room.getDepartName());
resource.setId(room.getId());
resource.setLatitude(TypeConversionUtil.toBigDecimalOfNull(room.getLat()));
resource.setLongitude(TypeConversionUtil.toBigDecimalOfNull(room.getLon()));
resource.setType("2");
saveOrUpdateBatchList.add(resource);
}
resourceService.saveOrUpdateBatch(saveOrUpdateBatchList);
}
}
}