feat(oa): 添加查询当前用户今日报工记录功能- 在 IOaProject口中ReportService 接新增 getTodayReportByCurrentUser 方法

- 在 OaProjectReportController 中新增 /today GET 接口用于获取今日报告- 在 OaProjectReportServiceImpl 中实现今日报告查询逻辑
-优化 ClearbuildQueryWrapper 方法,支持按用户 ID 查询
- 使用 LoginHelper 获取当前登录用户 ID 进行数据过滤
This commit is contained in:
JR
2025-10-11 18:15:51 +08:00
parent 5c54e9e169
commit cb8b46bf22
3 changed files with 31 additions and 0 deletions

View File

@@ -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<OaProjectReportVo> getTodayReport() {
OaProjectReportVo todayReport = iOaProjectReportService.getTodayReportByCurrentUser();
return R.ok(todayReport);
}
}

View File

@@ -68,4 +68,9 @@ public interface IOaProjectReportService {
List<OaProjectReportVo> clearList(LocalDate start, LocalDate end);
List<OaProjectReportVo> getSummaryData(LocalDate start, LocalDate end);
/**
* 查询当前登录用户今日的报工记录
*/
OaProjectReportVo getTodayReportByCurrentUser();
}

View File

@@ -95,6 +95,7 @@ public class OaProjectReportServiceImpl implements IOaProjectReportService {
private QueryWrapper<OaProjectReport> ClearbuildQueryWrapper(OaProjectReportBo bo) {
Map<String, Object> params = bo.getParams();
QueryWrapper<OaProjectReport> 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<OaProjectReport> queryWrapper = ClearbuildQueryWrapper(checkBo);
// 查询今日报工记录
OaProjectReport report = baseMapper.selectOne(queryWrapper);
if (report == null) {
return null;
}
// 转换为VO对象
return baseMapper.selectVoByIdPlus(report.getReportId());
}
}