xuhy
2025-01-10 d1632e46b772d691e55b4013585bfe61164b8bde
optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java
@@ -100,33 +100,39 @@
        tDetailVO.setCreateTime(one.getCreateTime());
        return ApiResult.success(tDetailVO);
    }
    public static void main(String[] args) {
//        LocalDateTime now = LocalDateTime.now();
//        // 获取凌晨00:00:00和23:59:59
//        LocalDateTime startTime = now.withHour(0).withMinute(0).withSecond(0);
//        LocalDateTime endTime = now.withHour(23).withMinute(59).withSecond(59);
//        System.err.println(startTime);
//        System.err.println(endTime);
    }
    @ApiOperation(value = "首页")
    @PostMapping(value = "/index")
    public ApiResult<TOptometristVO> index() {
        TOptometristVO tOptometristVO = new TOptometristVO();
        Integer userId = loginInfoUtil.getUserId();
        TOptometrist byId = optometristService.getById(userId);
        TStore byId1 = storeService.getById(byId.getStoreId());
        tOptometristVO.setStoreName(byId1.getName());
        tOptometristVO.setName(byId.getName());
        tOptometristVO.setPhone(byId.getPhone());
        Date start = new Date();
        Date end = new Date();
        // 获取今日凌晨00:00:00和今日23:59:59
        start.setHours(0);
        start.setMinutes(0);
        start.setSeconds(0);
        end.setHours(23);
        end.setMinutes(59);
        end.setSeconds(59);
        int size = optometryService.lambdaQuery().eq(TOptometry::getOptometristId, userId)
                .between(TOptometry::getCreateTime, start, end)
        TOptometrist optometrist = optometristService.getById(userId);
        TStore store = storeService.getById(optometrist.getStoreId());
        tOptometristVO.setStoreName(store.getName());
        tOptometristVO.setName(optometrist.getName());
        tOptometristVO.setPhone(optometrist.getPhone());
        LocalDateTime nowTime = LocalDateTime.now();
        // 获取凌晨00:00:00和23:59:59
        LocalDateTime startTime = nowTime.withHour(0).withMinute(0).withSecond(0);
        LocalDateTime endTime = nowTime.withHour(23).withMinute(59).withSecond(59);
        int size = optometryService.lambdaQuery().eq(TOptometry::getStoreId, store.getId())
                .between(TOptometry::getCreateTime, startTime, endTime)
                .eq(TOptometry::getStatus, 3).list().size();
        tOptometristVO.setOptometryCount(size);
        // 查询今日的排号列表
        List<TLineUp> list = tLineUpService.lambdaQuery().eq(TLineUp::getStoreId, byId.getStoreId())
        List<TLineUp> list = tLineUpService.lambdaQuery().eq(TLineUp::getStoreId, optometrist.getStoreId())
                .ne(TLineUp::getStatus, 3)
                .ne(TLineUp::getStatus, 5).list();
                .ne(TLineUp::getStatus, 5)
                .orderByAsc(TLineUp::getCode)
                .list();
        for (TLineUp tLineUp : list) {
            LocalDateTime now = LocalDateTime.now();
            LocalDateTime createTime = tLineUp.getCreateTime();
@@ -176,8 +182,11 @@
    public ApiResult startOptometry(Integer id) {
        Integer userId = loginInfoUtil.getUserId();
        List<TLineUp> list = tLineUpService.lambdaQuery().eq(TLineUp::getStatus, 2)
                .ne(TLineUp::getId,id)
                .eq(TLineUp::getOptometristId, userId).list();
        if (!list.isEmpty())return ApiResult.failed("当前还有未结束的验光单");
        if (!list.isEmpty()){
            return ApiResult.failed("当前还有未结束的验光单");
        }
        TLineUp lineUp = tLineUpService.getById(id);
        // 获取今天凌晨00:00:00和今日23:59:59
        Date start = new Date();
@@ -189,6 +198,7 @@
        end.setMinutes(59);
        end.setSeconds(59);
        List<TLineUp> lineUps = tLineUpService.lambdaQuery().eq(TLineUp::getStoreId, lineUp.getStoreId())
                .eq(TLineUp::getStatus,1)
                .between(TLineUp::getCreateTime, start, end).list();
        for (TLineUp up : lineUps) {
            if (Integer.parseInt(up.getCode())<Integer.parseInt(lineUp.getCode())){
@@ -197,6 +207,7 @@
        }
        tLineUpService.updateBatchById(lineUps);
        lineUp.setStatus(2);
        lineUp.setOptometristId(userId);
        tLineUpService.updateById(lineUp);
        return ApiResult.success();
    }
@@ -217,22 +228,22 @@
    @ApiOperation(value = "填写验光信息完成")
    @PostMapping(value = "/add")
    public ApiResult<String> add(@RequestBody TAddOptometryVO dto) {
        TLineUp byId = tLineUpService.getById(dto.getId());
        TAppUser byId1 = appUserService.getById(byId.getUserId());
        TLineUp lineUp = tLineUpService.getById(dto.getId());
        TAppUser app = appUserService.getById(lineUp.getUserId());
        TOptometry tOptometry = new TOptometry();
        tOptometry.setUserId(byId.getUserId());
        tOptometry.setAge(byId.getAge());
        tOptometry.setGender(byId.getGender());
        if (byId1!=null){
            tOptometry.setPhone(byId1.getPhone());
        tOptometry.setUserId(lineUp.getUserId());
        tOptometry.setAge(lineUp.getAge());
        tOptometry.setGender(lineUp.getGender());
        if (app!=null){
            tOptometry.setPhone(app.getPhone());
        }
        tOptometry.setLineUpId(dto.getId());
        Integer userId = loginInfoUtil.getUserId();
        TOptometrist byId2 = optometristService.getById(userId);
        tOptometry.setRealName(byId.getUserName());
        TOptometrist optometrist = optometristService.getById(userId);
        tOptometry.setRealName(lineUp.getUserName());
        tOptometry.setLineUpId(dto.getId());
        tOptometry.setOptometristId(userId);
        tOptometry.setStoreId(byId2.getStoreId());
        tOptometry.setStoreId(optometrist.getStoreId());
        tOptometry.setStatus(3);
        optometryService.save(tOptometry);
        List<TOptometryDetail> tOptometryDetails = new ArrayList<>();
@@ -248,14 +259,14 @@
            tOptometryDetail.setPupilHeight(optometryDetailVO.getPupilHeight());
            tOptometryDetail.setPupilDistance(optometryDetailVO.getPupilDistance());
            tOptometryDetail.setCorrect(optometryDetailVO.getCorrect());
            tOptometryDetail.setStoreId(byId2.getStoreId());
            tOptometryDetail.setStoreId(optometrist.getStoreId());
            tOptometryDetail.setStatus(optometryDetailVO.getStatus());
            tOptometryDetails.add(tOptometryDetail);
        }
        optometryDetailService.saveBatch(tOptometryDetails);
        // 验光完成
        byId.setStatus(3);
        tLineUpService.updateById(byId);
        lineUp.setStatus(3);
        tLineUpService.updateById(lineUp);
        return ApiResult.success();
    }