From cb8b46bf22991840dc29a76d9f60bf5ca33a1f0c Mon Sep 17 00:00:00 2001 From: JR <3573153686@qq.com> Date: Sat, 11 Oct 2025 18:15:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(oa):=20=E6=B7=BB=E5=8A=A0=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7=E4=BB=8A=E6=97=A5?= =?UTF-8?q?=E6=8A=A5=E5=B7=A5=E8=AE=B0=E5=BD=95=E5=8A=9F=E8=83=BD-=20?= =?UTF-8?q?=E5=9C=A8=20IOaProject=E5=8F=A3=E4=B8=ADReportService=20?= =?UTF-8?q?=E6=8E=A5=E6=96=B0=E5=A2=9E=20getTodayReportByCurrentUser=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=20-=20=E5=9C=A8=20OaProjectReportController?= =?UTF-8?q?=20=E4=B8=AD=E6=96=B0=E5=A2=9E=20/today=20GET=20=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E7=94=A8=E4=BA=8E=E8=8E=B7=E5=8F=96=E4=BB=8A=E6=97=A5?= =?UTF-8?q?=E6=8A=A5=E5=91=8A-=20=E5=9C=A8=20OaProjectReportServiceImpl=20?= =?UTF-8?q?=E4=B8=AD=E5=AE=9E=E7=8E=B0=E4=BB=8A=E6=97=A5=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91=20-=E4=BC=98=E5=8C=96=20Cl?= =?UTF-8?q?earbuildQueryWrapper=20=E6=96=B9=E6=B3=95=EF=BC=8C=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=8C=89=E7=94=A8=E6=88=B7=20ID=20=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=20-=20=E4=BD=BF=E7=94=A8=20LoginHelper=20=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E7=99=BB=E5=BD=95=E7=94=A8=E6=88=B7=20ID=20?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E6=95=B0=E6=8D=AE=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OaProjectReportController.java | 9 +++++++++ .../oa/service/IOaProjectReportService.java | 5 +++++ .../impl/OaProjectReportServiceImpl.java | 17 +++++++++++++++++ 3 files changed, 31 insertions(+) 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()); + } }