package com.ruoyi.web.controller.smartor; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.smartor.domain.PatMedInhosp; import com.smartor.domain.PatMedOuthosp; import com.smartor.domain.PatMedReq; import com.smartor.domain.PatMedRes; import com.smartor.service.IHNGatherPatArchiveService; import com.smartor.service.IPatMedOuthospService; import com.smartor.service.impl.HNGatherPatArchiveServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.lang.reflect.Array; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; import java.util.Date; import java.util.List; import static com.ruoyi.framework.datasource.DynamicDataSourceContextHolder.log; /** * 河南采集患者信息接口Controller * * @author smartor * @date 2025-07-09 */ @RestController @RequestMapping("/smartor/hngather") @Api(description = "河南采集患者信息接口") public class HNGatherPatArchiveController extends BaseController { @Autowired private IHNGatherPatArchiveService ihnGatherPatArchiveService; /** * 河南数据采集 */ //@PreAuthorize("@ss.hasPermi('smartor:patouthosp:list')") @PostMapping("/selectGatherList") @ApiOperation("河南数据采集") public Integer selectUserList(@RequestBody PatMedInhosp patMedInhosp) { // Integer sd = ihnGatherPatArchiveService.selectDeptList(null); // Integer su = ihnGatherPatArchiveService.selectUserList(null); // Integer icd = ihnGatherPatArchiveService.selectIcd10List(null); log.info("开始按天同步用户数据,时间范围: {} 到 {}", patMedInhosp.getStartOutHospTime(), patMedInhosp.getEndOutHospTime()); LocalDate startDate = patMedInhosp.getStartOutHospTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); LocalDate endDate = patMedInhosp.getEndOutHospTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); Integer po = null; // 循环处理每一天 for (LocalDate currentDate = startDate; !currentDate.isAfter(endDate); currentDate = currentDate.plusDays(1)) { PatMedInhosp dailyCondition = new PatMedInhosp(); LocalDateTime dayStart = currentDate.atStartOfDay(); LocalDateTime dayEnd = currentDate.atTime(23, 59, 59); dailyCondition.setStartOutHospTime(Date.from(dayStart.atZone(ZoneId.systemDefault()).toInstant())); dailyCondition.setEndOutHospTime(Date.from(dayEnd.atZone(ZoneId.systemDefault()).toInstant())); Integer pi = ihnGatherPatArchiveService.selectPatMedInhospList(dailyCondition); PatMedOuthosp patMedOuthosp = new PatMedOuthosp(); patMedOuthosp.setBeginTime(Date.from(dayStart.atZone(ZoneId.systemDefault()).toInstant())); patMedOuthosp.setEndTime(Date.from(dayEnd.atZone(ZoneId.systemDefault()).toInstant())); po = ihnGatherPatArchiveService.selectPatMedOuthospList(patMedOuthosp); } return po; } }