diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaProjectReportController.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaProjectReportController.java index bd066d7..132a45e 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaProjectReportController.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaProjectReportController.java @@ -190,4 +190,13 @@ public class OaProjectReportController extends BaseController { @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate end) { return R.ok(iOaProjectReportService.getSummaryData(start,end)); } + + /** + * 查询当前登录用户今日的报工记录 + */ + @GetMapping("/today") + public R getTodayReport() { + OaProjectReportVo todayReport = iOaProjectReportService.getTodayReportByCurrentUser(); + return R.ok(todayReport); + } } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaProjectReportService.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaProjectReportService.java index 337e4ab..366c616 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaProjectReportService.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaProjectReportService.java @@ -68,4 +68,9 @@ public interface IOaProjectReportService { List clearList(LocalDate start, LocalDate end); List getSummaryData(LocalDate start, LocalDate end); + + /** + * 查询当前登录用户今日的报工记录 + */ + OaProjectReportVo getTodayReportByCurrentUser(); } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProjectReportServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProjectReportServiceImpl.java index a80a30f..1404c0f 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProjectReportServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProjectReportServiceImpl.java @@ -95,6 +95,7 @@ public class OaProjectReportServiceImpl implements IOaProjectReportService { private QueryWrapper ClearbuildQueryWrapper(OaProjectReportBo bo) { Map params = bo.getParams(); QueryWrapper lqw = Wrappers.query(); + lqw.eq(bo.getUserId()!=null, "user_id", bo.getUserId()); if (bo.getCreateTime() != null) { LocalDateTime start = bo.getCreateTime() // LocalDateTime / Date 都行 .toInstant() @@ -230,4 +231,20 @@ public class OaProjectReportServiceImpl implements IOaProjectReportService { return baseMapper.getSummaryData(start,end); } + + @Override + public OaProjectReportVo getTodayReportByCurrentUser() { + // 检查今日是否已报工 + OaProjectReportBo checkBo = new OaProjectReportBo(); + checkBo.setUserId(LoginHelper.getUserId()); + checkBo.setCreateTime(new Date()); + QueryWrapper queryWrapper = ClearbuildQueryWrapper(checkBo); + // 查询今日报工记录 + OaProjectReport report = baseMapper.selectOne(queryWrapper); + if (report == null) { + return null; + } + // 转换为VO对象 + return baseMapper.selectVoByIdPlus(report.getReportId()); + } }