liusheng
8 天以前 7eb4c98f4d96bebf28685d801e7b978d6c3d251e
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HNGatherPatArchiveController.java
@@ -24,7 +24,13 @@
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
@@ -45,12 +51,32 @@
    //@PreAuthorize("@ss.hasPermi('smartor:patouthosp:list')")
    @PostMapping("/selectGatherList")
    @ApiOperation("河南数据采集")
    public Integer selectUserList(@RequestBody SysUser sysUser) {
//        Integer integer = ihnGatherPatArchiveService.selectUserList(null);
//        Integer deptInt = ihnGatherPatArchiveService.selectDeptList(null);
//        Integer icdInt = ihnGatherPatArchiveService.selectIcd10List(null);
        Integer integer = ihnGatherPatArchiveService.selectPatMedInhospList(new PatMedInhosp());
        return integer;
    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;
    }
}